[英]How do I match valid words with a ruby regular expression
使用ruby正則表達式,如何匹配用逗號分隔的列表中的所有單詞,但是僅當整個單詞包含有效的單詞字符(即:字母數字或下划線)時才匹配。 例如,給定字符串:
“看,簡,奔跑,r#un,j @ ne,r!n”
我想匹配的話
'see','jane'和'run',
但不是話
“ r#un”,“ j @ ne”或“ r1n”。
我不想匹配昏迷...只是單詞本身。
我在這里開始了正則表達式: http : //rubular.com/regexes/12126
s="see, jane, run, r#un, j@ne, r!n, fast"
s.scan(/(?:\A|,\s*)(\w+)(?=,|\Z)/).flatten
# => ["see", "jane", "run", "fast"]
其他方式
result = s.split(/[\\s,]/).select{|_w| _w =~ /^\\w+$/}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.