javascript - 正则表达式:否定集中只有单个字符实例

标签 javascript regex regex-negation

是否有任何可能的方法将否定集中的字符限制为单个实例?

我正在处理的事情: [^0-9\.]

这不会匹配数字和小数,但是有什么方法可以限制为单个小数吗?

所以它不会匹配:

84.34356
.3948

但会匹配:

86..3232
   ^
84.54.23.
     ^  ^

这边走

val.replace(/[^0-9\.]/g, '')

将替换匹配的字符

最佳答案

使用splitshiftjoin:

var s = '84.54.23.'
var arr = s.split(/\./).filter(Boolean)

if (arr.length > 1)
   s = arr.shift() + '.' + arr.join('')
//=> s="84.5423"

s = '86..3232'
arr = s.split(/\./).filter(Boolean)
if (arr.length > 1)
   s = arr.shift() + '.' + arr.join('')
//=> s="86.3232"

s = '84.34356'
arr = s.split(/\./).filter(Boolean)
if (arr.length > 1)
   s = arr.shift() + '.' + arr.join('')
//=> s="84.34356"

s = '.3948'
arr = s.split(/\./).filter(Boolean)
if (arr.length > 1)
   s = arr.shift() + '.' + arr.join('')
//=> s=".3948"

关于javascript - 正则表达式:否定集中只有单个字符实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37465370/

相关文章:

javascript - 仅使用 javascript 验证表单并阻止用户提交禁用 JS 的表单?

regex - 我以一种效率低下的方式使用 Python 正则表达式

regex - 仅给定索引,如何使用正则表达式提取子字符串?

regex - 用于注释的正则表达式,但不在 “string”中/不在另一个容器中

javascript - Highcharts 饼图较长文本

javascript - 收集Mousewheeler触发器然后调用函数

regex - "not match"或反向的 Mongo 正则表达式

regex - 正则表达式:- String can contain any characters but should not be empty

javascript - Javascript原型(prototype)继承和对象属性阴影

r - 用于 alpha 的 Stringr 正则表达式,包括重音符号