正则表达式:匹配除数字外的所有字符,但排除某些字符

6

我有这样的字符串:

+996999966966AA
-996999966966AA

我正在使用这段代码:

"+996999966966AA".gsub!(/\D/, "")

如何除了数字以外,还保留+符号?我的代码应该怎么写?


你使用的编程语言是什么? - Alma Do
@Alma Do Mundo 更新了标签。 - Said Kaldybaev
@Stefan,没有必要。 - Said Kaldybaev
好的,否则你可以直接使用"-996999966966AA".to_i - Stefan
@Arup Rakshit,你必须仔细阅读问题,我说过“...使用 \D 来 ...” - Said Kaldybaev
显示剩余6条评论
2个回答

14

使用:

[^+\d]

匹配任何不是+或数字的内容。


1
你也可以使用\W,它代表非单词字符,匹配任何不是单词字符(字母数字和下划线)的字符。
(\W\d+)\w+

\w 表示 [A-Za-z0-9_],所以 \W 表示不属于该字符集的任何内容。 - the Tin Man

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