我的用于替换字母数字字符的正则表达式的行为与字符串中的空格和点很奇怪

问题描述 投票:0回答:2

我正在(javascript)的replace函数中使用此正则表达式来替换所有内容(字母数字字符除外),但它不能正常工作。

s = s.replace(/[^a-zA-Z0-9]./g,"")

with s =“ 一个人,一个计划,一条运河:巴拿马

而不是返回“ AmanaplanacanalPanama”

返回“ AanalanaanalPanama”

但是,当我也排除空格[^ a-zA-Z0-9]时,它可以很好地工作(返回“ A mana plana canalPanama”,这很奇怪。

[请帮助我了解正则表达式有什么问题。

javascript regex replace
2个回答
0
投票

如果您想将小数点匹配,则将点.放在括号内。

s = s.replace(/[^a-zA-Z0-9.]/g,"")

0
投票

.匹配任何字符。因此,您还要删除任何非字母数字字符及其后的字符

© www.soinside.com 2019 - 2024. All rights reserved.