https://qiita.com/BlueSilverCat/items/dcea3121c7af83148f29 /\p{Script=Hiragana}/u; /\p{Script_Extensions=Katakana}/u; /\p{Script_Extensions=Han}/u; Unicode property escapes ES2018以降では、Unicodeプロパティを指定してマッチさせることが出来るようになりました。 これはとても便利ですね。ウヒョー と言いたいところですが、使いこなすにはUnicodeプロパティの知識が必要そうです。 迂闊に使うと想定していない文字をマッチさせてしまいそうです。 厳密に使いたいからと色々調べていくとUnicodeの闇へようこそとなります。ウヒャー 基本的には、\p{property}もしくは\P{property}と記述します。 指定したpropertyを持っている文字とマッチさせたいときは、以下のように小文字で書きます。 \p{property} 逆に、指定したpropertyを持っていない文字とマッチさせたいときは、大文字を使います。 \P{property} 正規表現の本来の定義ならば、"property"に相当する記述は、大文字小文字の区別なく扱えるようになっています。 しかし、JavaScriptで扱う場合は、大文字小文字を正確に入力しなければいけません。 またJavaScriptで扱い場合は、/\p{property}/uのようにuフラグが必須となります。 では、具体的にpropertyにはどんな記述をするか述べていきたいと思います。 まず、Unicodeプロパティは、数多くありますが大きく分けるとbinary propertyとnon-binary propertyに分けられます。