如何将Hangul添加到此正则表达式?

时间:2018-05-19 04:37:08

标签: c# regex

我有这个正则表达式来检测字母数字,汉字,片假名和平假名。我想将Hangul添加到此,但我不确定范围:

  

Regex.IsMatch(p.Name,@“^ [a-zA-Z0-9ァ - ヾぁ - んー一 - 龠々] + $”)

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以添加三个Unicode categories以支持韩语的正则表达式:

\p{IsHangulSyllables}
\p{IsHangulCompatibilityJamo}
\p{IsHangulJamo}

您可以将它们添加到角色类的末尾:

@"^[a-zA-Z0-9ァ-ヾぁ-んー一-龠々\p{IsHangulSyllables}\p{IsHangulCompatibilityJamo}\p{IsHangulJamo}]+$" 

要支持所有CJK字符,您可以考虑添加

\p{IsCJKRadicalsSupplement}
\p{IsCJKSymbolsandPunctuation}
\p{IsEnclosedCJKLettersandMonths}
\p{IsCJKCompatibility}
\p{IsCJKUnifiedIdeographsExtensionA}
\p{IsCJKUnifiedIdeographs}
\p{IsCJKCompatibilityForms}