【发布时间】:2011-09-08 20:13:21
【问题描述】:
我正在尝试使用 Ruby 1.8.7 验证“单词”。
我的正则表达式目前是:
/[a-zA-Z]\'*\-*/
这只会捕获英文单词;有没有办法捕捉非英文 UTF-8 字符?
【问题讨论】:
-
尝试使用 \w 而不是 [a-zA-Z]
-
@Geek。好点,
/\w+/是对的,但他也需要/\w+/u
我正在尝试使用 Ruby 1.8.7 验证“单词”。
我的正则表达式目前是:
/[a-zA-Z]\'*\-*/
这只会捕获英文单词;有没有办法捕捉非英文 UTF-8 字符?
【问题讨论】:
/\w+/ 是对的,但他也需要/\w+/u
即使是 1.8.x 正则表达式引擎也支持 UTF-8,您只需要使用正确的表达式,而不仅仅是使用 /\w/:
s = "résumé and some other words"
puts s[/[a-z]+/u]
puts s[/\w+/u]
你会得到:
r
résumé
【讨论】: