Ruby Regular Expression用于匹配单词,包括重音和其他UTF8字符

时间:2010-12-10 01:14:35

标签: ruby regex

我们正试图找到一个允许我们将句子分成单词的正则表达式。 当然,最直接的答案是使用\w,但它不会在我们需要的_上拆分。 然后,我们尝试[a-zA-Z0-9](我们想要允许单词里面的数字),问题是它在重音上分裂,这在许多语言中相当常见......

所以,理想情况下,我应该使用什么正则表达式来分割下面的句子:

  

“Jenedégustepasd'asperges,car je n'aimepasça”

信息

  

[ “JE”, “NE”, “déguste”, “PAS”, “d”,   “asperges”,“car”,“je”,   “n”,“aime”,“pas”,“ça”]

1 个答案:

答案 0 :(得分:3)

STR = "Je ne déguste pas d'asperges, car je n'aime pas ça"
words = STR.split /[\s,']+/
for w in words
    print w, "\n"
end

输出结果为:

Je
ne
déguste
pas
d
asperges
car
je
n
aime
pas
ça