PHP+_*&^%$#@!~の文字を除くすべての「特別な」文字(など)を一致させるにはどうすればよいですか?-
私はそれ\Wがを含むすべての「特別な」文字と一致することを知ってい-ます。
Unicode文字を考慮した提案はありますか?
PHP+_*&^%$#@!~の文字を除くすべての「特別な」文字(など)を一致させるにはどうすればよいですか?-
私はそれ\Wがを含むすべての「特別な」文字と一致することを知ってい-ます。
Unicode文字を考慮した提案はありますか?
[^-]あなたが望む特殊文字ではありません[\W]ご存知のようにすべて特殊文字です[^\w]すべての特殊文字も同様です-公平に聞こえますか?したがって[^\w-]、両方の組み合わせがあります。すべての「特殊」文字ですが、。はありません-。
\pLLetter主要な一般カテゴリグループであるUnicode文字プロパティを持つ任意の文字に一致します。つまり、に一致し[\p{Ll}\p{Lt}\p{Lu}\p{Lm}\p{Lo}]ます。\pNNumber主要な一般カテゴリグループである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あります。-