正規表現[[:alpha:]]もメモ帳++の中国語の単語と一致しますか?たとえば、中文Notepad ++の[[:alpha:]]も中国語の単語と一致しますか?
をメモ帳++
アルファのドキュメントによると:ASCII文字が
中国語の単語は、ASCII文字ではありませんので、なぜ正規表現式は、それらを一致させるのでしょうか?
正規表現[[:alpha:]]もメモ帳++の中国語の単語と一致しますか?たとえば、中文Notepad ++の[[:alpha:]]も中国語の単語と一致しますか?
をメモ帳++
アルファのドキュメントによると:ASCII文字が
中国語の単語は、ASCII文字ではありませんので、なぜ正規表現式は、それらを一致させるのでしょうか?
[:alpha:]
クラスは、通常、アルファベット文字と一致します。これは、使用しているエンコーディングに応じて、ASCII文字よりもはるかに多くなります。
は、「ASCII文字」と書かれていますが、Boost C++ Regex libraryを使って正規表現が実装されていることも示しています。ドキュメントにより、[:alpha:]
has the standard, broader meaning in this libraryが確認されます。
これは、メモ帳++ドキュメントでちょうど間違いであるように思われます。
ASCII文字と一致させる必要がある場合は、開始点として[a-zA-Z]
のようなものを使用します。それは `中文`を見つけられないことを、あなたがそのコードを使用している
? 'u'修飾子が必要になるかもしれません。 https://regex101.com/r/zT4mO1/1 – chris85
@ chris85ああ、それは中国語の単語に一致するように設計されていますか?しかし私は[[:alpha:]]はASCII文字にしかマッチしないと思った。中国語の単語はASCII文字ですか? – user15964
http://www.regular-expressions.info/posixbrackets.htmlをご覧ください。あなたがasciiだけをサポートしているのであれば、asciiだけになります。 – chris85