正则表达式表达不起作用 - 我错过了什么

时间:2011-04-04 17:18:51

标签: javascript regex

我正在尝试使用Javascript以123格式编写的数据中获取数字(123:AB.CD.EF.GH.IJ)。

目前我有一个正则表达式/^[0-9]*(?=\:)/并使用

var ABC = pattern.match(regex);

但我一直空手而归。我的表情有什么问题?

3 个答案:

答案 0 :(得分:6)

或者您可以跳过正则表达式并使用pattern.split(':')[0]

答案 1 :(得分:0)

尝试

var number = value.replace(/:.*/);   // where value is the "123:AB.CD.EF.GH.IH" string

有时以不同的方式做同样的事情会产生更好的结果,我发现有正则表达式。

答案 2 :(得分:0)

匹配返回一个数组。您可能需要pattern.match(regex)[1],其中1是匹配的字符串。最后你不需要(?=\:)。您还需要指定捕获的内容。

试试这个:

regex = /^([0-9]*)/

括号表示您想要匹配的内容。请记住,匹配返回一个数组。使用JSON.stringify()来查找您正在获取的内容。 JSON.stringify(ABC)。我相信FF,Chrome和Safari支持JSON。