Javascript正则表达式查找后跟 'px' 或 '%' 的数字

标签 javascript regex

我正在尝试在 javascript 中创建一个正则表达式来查找后面跟着 px 的数字。 , %或者根本没有单位,我的问题是看看这个正则表达式的结构是否正确。

[0-9]*\.?[0-9]+(px|%)?

应用程序会是这样的

var string  = '10px, 15px, 10';
var regex   = [0-9]*\.?[0-9]+(px|%)?
var matches = string.match( regex ); // return [ '10px', '15px', 10 ]

我已经测试过它,但我想确定结构是否正确。

最佳答案

看起来不错,除了您忘记将正则表达式放在正则表达式引号中,并且您可能希望它不区分大小写,因此:

var regex   = /[0-9]*\.?[0-9]+(px|%)?/i;

请注意,[0-9] 可以是 \d。另外,如果您不使用捕获组,则可以将其设为非捕获组。所以:

var regex   = /\d*\.?\d+(?:px|%)?/i;

您不允许在数字之后和 px/% 之前有空格,但我认为这是故意的。

关于Javascript正则表达式查找后跟 'px' 或 '%' 的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30342731/

相关文章:

javascript - react .js。创建带有参数的方法(props 将是参数)还是在函数体中引用 props 更好?

javascript - 可能未处理的 promise 拒绝(id :0) Warning

javascript - 使用 Jquery 显示下拉列表中的链接的更简单方法

javascript - 在 IE Mobile 的 JavaScript 中替代 'className'?

javascript - 使用got时如何计算花费的时间?

regex - Python 3 中最快的标记化函数是什么?

c# - 删除非数字、非小数、重复小数

php - 在 PCRE 中捕获未知重复的模式

c# - 正则表达式,在两个词之间找一个词

python - 与正则表达式相关的CountVectorizer预处理