javascript - 正则表达式删除所有不跟在数字后面的句点

标签 javascript regex

我有 str.replace(/.(?![0-9])/g, '')
但它会删除除句点和句点后的数字之外的所有内容。
例如“3.14”变成“.1”

我想要的是:

"3.14" -> "3.14"
"hello.world" -> "helloworld"
".hi." -> "hi"
"hi.25" -> "hi.25"

执行此操作的正则表达式是什么?

最佳答案

. 是正则表达式中的元字符(默认匹配除换行符以外的任何字符)。你需要逃避它:

str.replace(/\.(?![0-9])/g, '')

str.replace(/[.](?![0-9])/g, '')

取决于您的喜好。

请注意,您可以将 [0-9] 替换为 \d

关于javascript - 正则表达式删除所有不跟在数字后面的句点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16066193/

相关文章:

java - 需要 java 正则表达式来匹配具有多个空格的子字符串,只有一个标点符号

java - 举一个在regex java中使用cyirillic的例子

regex - 贪婪/懒惰(非贪婪)/占有量词如何在内部工作?

c# - 无法使用正则表达式在双引号之间提取字符串

javascript - Rails Simple Form <form> 标签未环绕控件

javascript - 如何为 Electron 中的启动画面添加延迟

javascript toLocaleString 返回 0

javascript - ng 类未应用

javascript - Vue 自定义指令使用更新的 Dom(或 $el)

regex - 获取 Windows 上 Git Hook 的 %AppData% 路径(或其他环境变量)(10)