加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 仅在外部括号中捕获正则表达式中的组

发布时间:2020-12-15 08:40:27 所属栏目:Java 来源:网络整理
导读:我想使用正则表达式从 java中的字符串中捕获日期和其他一些信息. 我将我的模式分组如下, "( ( date_variation_1 | date_variation_2) (some_other_info) ) " 而现在,我想像这样提取匹配的字符串, group0 – 整场比赛 group1 – 日期 group2 – 其他一些信息
我想使用正则表达式从 java中的字符串中捕获日期和其他一些信息.

我将我的模式分组如下,

"( ( date_variation_1 | date_variation_2) (some_other_info) ) "

而现在,我想像这样提取匹配的字符串,
group0 – 整场比赛
group1 – 日期
group2 – 其他一些信息

我的问题是我需要在date_variation_1,date_variation_2和some_other_info内部使用括号,这些括号也将被视为组分隔符.

有没有任何简单的解决方法,即将一些其他特殊章程定义为外部组分隔符,而不是括号?

date_variation_1:

"(((?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday|Tues|Thur|Thurs|Sun|Mon|Tue|Wed|Thu|Fri|Sat))" // Day Of Week 1
                        + "(s+)"  // White Space 1
                        + "((?:[0]?[1-9]|[1][012])[-:/.](?:(?:[0-2]?d{1})|(?:[3][01]{1}))[-:/.](?:(?:d{1}d{1})))(?![d])" // MMDDYY 1
                        + "(s+)" // White Space 2
                        + "((?:(?:[0-1][0-9])|(?:[2][0-3])|(?:[0-9])):(?:[0-5][0-9])(?::[0-5][0-9])?(?:s?(?:am|AM|pm|PM))?))"; // HourMinuteSec 1

解决方法

您可以使用(?:yourGroupHere)来定义非捕获组.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读