I am using this regex in Java:
我在Java中使用这个正则表达式:
^(Mon(?:.?|day)?)(?:[\.,])?$
(This can be tested here)
^(周一(?:。?|日)?)(?:[\。,])?$(这可以在这里测试)
I want to capture the day followed by an optional .
or ,
. In case of the day Monday I want to capture either Monday
or Mon
. However, I don't want the optional .
or ,
to be saved in a capturing group. This only seems to work for "Monday," not for "Mon." (see link).
我想捕捉一天,然后选择。要么 ,。如果是星期一,我想捕获周一或周一。但是,我不想要可选。或者,保存在捕获组中。这似乎只适用于“星期一”,不适用于“星期一”。 (见链接)。
How can I achieve this?
我怎样才能做到这一点?
1 个解决方案
#1
2
You may use
你可以用
^(Mon(?:day)?)[.,]?$
See the regex demo
请参阅正则表达式演示
Details
-
^
- start of string (omit if you use.matches()
) -
(Mon(?:day)?)
- Capturing group 1:-
Mon
- a literal substring -
(?:day)?
- an optionalday
char sequence
Mon - 一个文字子串
(?:天)? - 可选的日期字符序列
-
-
[.,]?
- an optional dot or comma -
$
- end of string (omit if you use.matches()
)
^ - 字符串的开头(如果使用.matches()则省略)
(星期一(?:日)?) - 捕获组1:星期一 - 文字子串(?:日)? - 可选的日期字符序列
[,]? - 可选的点或逗号
$ - 字符串结尾(如果使用.matches()则省略)
#1
2
You may use
你可以用
^(Mon(?:day)?)[.,]?$
See the regex demo
请参阅正则表达式演示
Details
-
^
- start of string (omit if you use.matches()
) -
(Mon(?:day)?)
- Capturing group 1:-
Mon
- a literal substring -
(?:day)?
- an optionalday
char sequence
Mon - 一个文字子串
(?:天)? - 可选的日期字符序列
-
-
[.,]?
- an optional dot or comma -
$
- end of string (omit if you use.matches()
)
^ - 字符串的开头(如果使用.matches()则省略)
(星期一(?:日)?) - 捕获组1:星期一 - 文字子串(?:日)? - 可选的日期字符序列
[,]? - 可选的点或逗号
$ - 字符串结尾(如果使用.matches()则省略)