Ruby正则表达式:替换非空间字符的非单词字符

时间:2012-04-20 21:03:38

标签: ruby regex

如何替换所有非空格字符(\ s)的非字符字符(\ W)?

这是所需的功能:

"the (quick)! brown \n fox".gsub(regex, "#")

=>

"the #quick## brown \n fox"

2 个答案:

答案 0 :(得分:24)

"the (quick)! brown \n fox".gsub(/[^\w\s]/, "#")

通过使正则表达式替换任何不是单词字符或空格字符的内容。

答案 1 :(得分:7)

我认为你需要像这样的正则表达式:

/[^\w\s]/

当你将一个抑扬符^添加到字符集的开头时,它会否定表达式,以便除了集合中的字符之外的任何内容都匹配。