1

&{2}double '&&' char (つまり、AND演算子) に一致する可能性があり、すべてが私の期待どおりに進みます。ただし、[&{2}|\|{2}]単一の「&」または「|」に一致します char . ケースに対してどのように対処すればよいですか?また、ケースが発生する理由は?

4

3 に答える 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  

& または | の 2 つに一致します。

于 2012-08-01T10:43:03.417 に答える
0

この場合は使用しないでください[]

&{2}|\|{2}

使用例:

$ perl -ne 'print if /&{2}|\|{2}/' <<EOF
> &&
> ||
> |
> EOF
&&
||

ご覧のとおり&&||一致して|いませんでした。

于 2012-08-01T10:37:56.223 に答える