您好我需要一个Java正则表达式匹配任何以下的:爪哇正则表达式数范围
1,2,3W¯¯即:1W 2W或3W或等,等
1,2,3 ,4,5,6,7,8,9,10,11,12 中号
1,2Ÿ
我曾尝试使用下面的尝试,但它不能正常工作
[0-2]{1}W|[1-12]{2}M|[1-2]{1}Y
谢谢
您好我需要一个Java正则表达式匹配任何以下的:爪哇正则表达式数范围
1,2,3W¯¯即:1W 2W或3W或等,等
1,2,3 ,4,5,6,7,8,9,10,11,12 中号
1,2Ÿ
我曾尝试使用下面的尝试,但它不能正常工作
[0-2]{1}W|[1-12]{2}M|[1-2]{1}Y
谢谢
试试这个:
^([1-3]W|(1[0-2]|[1-9])M|[12]Y)$
Here的解释是:
^ --> the beginning of the string
( --> group and capture to \1:
[1-3] --> any character of: '1' to '3'
W --> 'W'
| --> OR
( --> group and capture to \2:
1 --> '1'
[0-2] -->any character of: '0' to '2'
| --> OR
[1-9] --> any character of: '1' to '9'
) --> end of \2
M --> 'M'
| --> OR
[12] --> any character of: '1', '2'
Y --> 'Y'
) --> end of \1
$ --> before an optional \n, and the end of the
string
希望它能帮助。
我并不是那种经验丰富的正则表达式,但是, 试试把这三个机会分开。 例如:
([0-3] W)|((1 [0-2])|([1-9])M)|([12] j)
我没有看到要找到在一行的开头字, 所以没有必要^和$
测试'[..]'是一个字符类。它不会做你认为它做的事情,它*不关心*内容碰巧是数字。 – user2864740