&{2}
可以匹配双'&&'字符(换句话说 - 一个AND
运算符),一切都如我所料。但是,[&{2}|\|{2}]
将匹配单个 '&' 或 '|' 字符。我该怎么办?为什么会发生这种情况?
问问题
1548 次
3 回答
4
[]
是一个字符组,即“该组中的任何字符”。特殊字符在其中没有任何或不同的含义。使用常规组:
(&{2}|\|{2})
如果您希望它不捕获:
(?:&{2}|\|{2})
于 2012-08-01T10:40:24.697 回答
1
你有没有尝试过
/([&|])\1/
() - capture
[&|] - character class which matches a single & or |
\1 - and match what has been captured
匹配和加倍 & 或 |
于 2012-08-01T10:43:03.417 回答
0
[]
在这种情况下不要使用。
&{2}|\|{2}
使用示例:
$ perl -ne 'print if /&{2}|\|{2}/' <<EOF
> &&
> ||
> |
> EOF
&&
||
正如你所看到的&&
,||
匹配和|
不匹配。
于 2012-08-01T10:37:56.223 回答