我想在Perl中创建一个正则表达式,它将测试特定脚本中字符的字符串.这将是这样的:
$text =~ .*P{'Chinese'}.*
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以做到这一点,对于英语而言,通过测试[a-zA-Z]非常简单,但是对于像中文这样的脚本或者日文脚本之一,我无法想办法没有明确地写出每个字符,这将导致一些非常丑陋的代码.想法?我不能成为第一个/唯一一个想要这样做的人.
查看perldoc perluniprops,它提供了可以使用的详尽属性列表\p.你会感兴趣的\p{CJK_Unified_Ideographs}和相关的属性,如\p{CJK_Symbols_And_Punctuation}.\p{Hiragana}并\p{Katakana}给你假名.还有一个\p{Script=...}属性用于许多脚本:\p{Han}并\p{Script=Han}匹配汉字符(中文),但没有相应的\p{Script=Japanese},很简单因为日语有多个脚本.
| 归档时间: |
|
| 查看次数: |
1718 次 |
| 最近记录: |