2011-06-05 63 views
3

我想用Ruby 1.8.7驗證'單詞'。如何使用Ruby正則表達式來捕獲非英語單詞?

我正則表達式搭上一句話是目前:

/[a-zA-Z]\'*\-*/ 

這隻會趕上英語單詞;有沒有辦法捕捉非英文UTF-8字符?

+3

嘗試使用\ w而不是[a-zA-Z] – 2011-06-05 18:06:50

+0

可能的重複http://stackoverflow.com/questions/397788/why-does-w-match-only-english-words-in-javascript-regex – Homam 2011-06-05 18:09:43

+1

@極客。好點,'/ \ w + /'是對的,但他也需要'/ \ w +/u' – DigitalRoss 2011-06-05 19:08:34

回答

4

即使是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é 
+0

太棒了!謝謝! – ethicalhack3r 2011-06-07 13:38:18

相關問題