我正在Java中使用此正则表达式:
^(Mon(?:.?|day)?)(?:[\.,])?$
(可以测试here)
我想记录下一天,然后是可选的.
或,
。
如果是星期一,我想捕获Monday
或Mon
。但是,我不希望将可选的.
或,
保存在捕获组中。这似乎只适用于“星期一”,不适用于“星期一”。 (请参阅链接)。
我该如何实现?
答案 0 :(得分:2)
您可以使用
^(Mon(?:day)?)[.,]?$
请参见regex demo
详细信息
^
-字符串的开头(如果使用.matches()
,则省略)(Mon(?:day)?)
-捕获组1:
Mon
-文字子字符串(?:day)?
-可选的day
字符序列[.,]?
-可选的点或逗号$
-字符串结尾(如果使用.matches()
,则省略)