PHP+_*&^%$#@!~
の文字を除くすべての「特別な」文字(など)を一致させるにはどうすればよいですか?-
私はそれ\W
がを含むすべての「特別な」文字と一致することを知ってい-
ます。
Unicode文字を考慮した提案はありますか?
PHP+_*&^%$#@!~
の文字を除くすべての「特別な」文字(など)を一致させるにはどうすればよいですか?-
私はそれ\W
がを含むすべての「特別な」文字と一致することを知ってい-
ます。
Unicode文字を考慮した提案はありますか?
[^-]
あなたが望む特殊文字ではありません[\W]
ご存知のようにすべて特殊文字です[^\w]
すべての特殊文字も同様です-公平に聞こえますか?したがって[^\w-]
、両方の組み合わせがあります。すべての「特殊」文字ですが、。はありません-
。
\pL
Letter
主要な一般カテゴリグループであるUnicode文字プロパティを持つ任意の文字に一致します。つまり、に一致し[\p{Ll}\p{Lt}\p{Lu}\p{Lm}\p{Lo}]
ます。\pN
Number
主要な一般カテゴリグループであるUnicode文字プロパティを持つ任意の文字に一致します。つまり、に一致し[\p{Nd}\p{Nl}\p{No}]
ます。Alphabetic
文字プロパティには、U +0345◌ͅᴄᴏᴍʙɪɴɪɴɢɢʀᴇᴇᴋʏᴘᴏɢᴇɢʀᴀᴍᴍᴇɴɪなどの特定の結合文字も含まれていることに注意してください。主要な一般カテゴリグループであるUnicode文字プロパティ\pM
を持つ任意の文字に一致するを含めることをお勧めします。Mark
つまり、に一致し[\p{Mn}\p{Me}\p{Mc}]
ます。-
あなたが参照しているものです。Dash
実際にそれらを含めたいのか除外したいのか、私にはわかりません。それをすべて考えると、次のようなものが必要になる可能性はほとんどありません。
[^\pL\pN\pM\x2D\x{2010}-\x{2015}\x{2212}]
このパターンを試すことができます
([^a-zA-Z-])
これは、そうでないすべての文字と一致する必要がa-z
あります。-