Javascript正则表达式 - 古怪的字符串

时间:2011-08-29 22:59:04

标签: javascript regex

我有一个字符串(下面),我需要在两个字符之间提取某些数据。

var str = "%T4271445443612318^MARK/Wdogn^14011011002033da?;411111111111111=140ke011lmn0529oqme00?";

我需要捕获这个号码: 411111111111111
它介于“;”之间和“=”总是。

任何帮助我仍然是RegEx的新手。

4 个答案:

答案 0 :(得分:4)

这将是;(\d+)=

http://www.regular-expressions.info/javascriptexample.html是你的朋友。 :)

答案 1 :(得分:4)

这样的东西
;(\d+)=

执行以下操作:

  • 匹配; char
  • \d+匹配一个或多个数字字符
  • ()将该号码捕获到capturing group
  • =匹配最后的等号字符

答案 2 :(得分:1)

var fourOneOne = str.match(/;(\d+)=/)[0];

答案 3 :(得分:0)

如果它总是按照您的建议格式化,则不需要正则表达式:

var str = "%T4271445443612318^MARK/Wdogn^14011011002033da?;411111111111111=140ke011lmn0529oqme00?";
var sub = str.substring(str.indexOf(';')+1,str.indexOf('='));

http://jsfiddle.net/7ym3m/