JavaScript正则表达式有问题
我在让这个正则表达式工作时遇到了一个棘手的问题。到目前为止,我的模式是:JavaScript正则表达式有问题,javascript,regex,Javascript,Regex,我在让这个正则表达式工作时遇到了一个棘手的问题。到目前为止,我的模式是: var dollarPattern = /^\d{1,}|\s\d/gi; var matchedResults = new Array(); matchedResults = textValue.match(dollarPattern); 我希望实现的是使用示例字符串“2到2.99(63项)”,我想检查它是否以数字开头,或者是否包含后跟数字的空格(在本例中,这两个条件都为真)。然而,我在Firefox中不断得到一个“
var dollarPattern = /^\d{1,}|\s\d/gi;
var matchedResults = new Array();
matchedResults = textValue.match(dollarPattern);
我希望实现的是使用示例字符串“2到2.99(63项)”,我想检查它是否以数字开头,或者是否包含后跟数字的空格(在本例中,这两个条件都为真)。然而,我在Firefox中不断得到一个“matchedResults为null”错误(尽管它的长度应该是2)
你知道我做错了什么吗?谢谢…你所需要的就是逃跑
// Please note that this works, but @Lekensteyn pointed out that this uses string literals
// Also, this will give you the first match(if exists) only.
alert("2 to 3.99 (63 items)".match("^\\d\|\\s\\d"));
或
在铬合金、FF4和IE8中工作良好 当我在正则表达式周围加引号时,我得到null
但是,我得到的输出是“2,2”。该代码周围还发生了什么?
{1,}
相当于+
。这使它更简短,可读性更强。你明白吗?不需要使用字符串文字而不是正则表达式文字。@Lekensteyn Nope,不是100%。我发布了答案,因为它有效。没有“需要”,但这并不意味着它不能被使用,如果被使用它也不会起作用,对吗?在您的评论之后,我确实搜索了Javascript RE basics,并修改了答案。无论如何,感谢我第一次投反对票。:-)
// This one will give you all possible matches
alert("2 to 3.99 (63 items)".match(/^\d|\s\d/g));