dan*_*dan 6 ruby regex unicode internationalization
我正在使用Ruby的正则表达式引擎.我需要编写一个执行此操作的正则表达式
WIKI_WORD = /\b([a-z][\w_]+\.)?[A-Z][a-z]+[A-Z]\w*\b/
Run Code Online (Sandbox Code Playgroud)
除了英语之外,还可以使用其他欧洲语言.我不认为字符范围[az]会覆盖德语等小写字母.
WIKI_WORD = /\b(\p{Ll}\w+\.)?\p{Lu}\p{Ll}+\p{Lu}\w*\b/u
Run Code Online (Sandbox Code Playgroud)
应该在Ruby 1.9中工作.\p{Lu}
并且\p{Ll}
是大写和小写Unicode字母的缩写.(\w
已包含下划线)
另请参阅此答案 - 您可能需要以UTF-8模式运行Ruby才能使用此功能,并且您的脚本也必须以UTF-8编码.
归档时间: |
|
查看次数: |
1923 次 |
最近记录: |