4

私は正規表現のパズルを解こうとしていますが、正規表現の一部は次のような断片で構成されています:

([^Xa-ehY]|[^f-zW])

また

([^2]|[^D-Za]|[D-Ze-f])

これらは私を混乱させます。

たとえば、最初のものを取ります[^Xa-ehY]|[^f-zW])。これは「not Xa-ehY OR not f-zW」という意味ではありませんか? そして、それは「任意の文字」に相当しませんか?例を挙げてみましょうe。最初のものには一致しませんが、2 番目のものには一致します。W2 番目には一致しませんが、1 番目には一致します。

と同じ([^2]|[^D-Za]|[D-Ze-f])。これは「not 2 OR not D-Ze-f OR D-Ze-f」という意味ですよね?これもまた「任意の文字」に相当します。

何か不足していますか?.これは、単一の正規表現の単なる複雑な置換ですか?

4

3 に答える 3

4

重なっているキャラもいると思います。たとえば、最初の小文字の h はどちらの側にも一致しません。

確かに、2 番目のものは単なる "." のように見えます。

于 2012-12-18T14:43:55.447 に答える
1

パズルなのでよく見てください。

[^Xa-ehY]|[^f-zW]は(を含む).で交差するため、 と同じではないため、 と同じになります。hf-zh[^h]

于 2012-12-18T14:44:11.637 に答える
1

正規表現テスターで一連のテキストを投げて、文字が重複しているかどうかを確認できます。それはかなり大雑把ですが、最初の例(\[^Xa-ehY\]|\[^f-zW\])は文字「h」に重なっています。2 番目の例は、何にでも一致するように見えます。

于 2012-12-18T14:51:14.743 に答える