我正在尝试在 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/