正则表达式:除了一个例外,删除非字母数字字符

17

要删除所有非字母数字字符,正则表达式应为

x = regexp_replace(somestring, '[^a-zA-Z0-9]+', '', 'g')

但是如果我想保留下划线怎么办?


1
a-zA-Z0-9_ 相当于 \w。这样更容易阅读。 - Loamhoof
1
此外,[^\w]+ 等同于 \W+ - speakr
2个回答

25

那么您需要使用:

x = regexp_replace(somestring, '\W+', '', 'g')

\W的意思和[^a-zA-Z0-9_]相同。


2
如何使用 '\W+' 代替所有非 a-z 和 0-9 的字符,但仍保留下划线。
x = regexp_replace(somestring, '\W+', '', 'g')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接