我现在正在处理正则表达式并遇到一种奇怪的行为:
以下正则表达式接受Q-123456-789
或q-123456-789
params: '^\\q\\-\\d{6}\\-\\d{3}$|^\\Q\\-\\d{6}\\-\\d{3}$'
以下正则表达式接受R-123456-789
但不接受r-123456-789
params: '^\\r\\-\\d{6}\\-\\d{3}$|^\\R\\-\\d{6}\\-\\d{3}$'
(我只是将q
替换为r
而将Q
替换为R
)
答案 0 :(得分:1)
由于:
\r
匹配回车
但\q
仅与文字q
匹配。
顺便说一下,你的正则表达式使用了过多的转义,它应该没有\\
,即
"^[qQ]-\\d{6}-\\d{3}$"
OR
"^[rR]-\\d{6}-\\d{3}$"
答案 1 :(得分:0)
\r
匹配回车(0x0D - 不可打印的字符),而不是r
字符。而\q
确实匹配字符q
。
如果您想匹配r
或R
,只需在字符类中替换它们:^[rR]
。
答案 2 :(得分:0)