通过正则表达式获取数字

时间:2015-03-08 18:36:55

标签: javascript jquery regex

我有很多输入字段,这种语法

<input name="AF[c_condition][1][0]" />
<input name="AF[c_condition][1][1]" />
<input name="AF[c_condition][1][2]" />

<input name="AF[c_user][1]" />

如何通过RegularExpression获取第一个括号中的数字?

2 个答案:

答案 0 :(得分:1)

如果您的输入字符串为myinput,那么您可以像这样使用javascript&#39; .match()

myinput.match(/<input name="AF\[c_\w+\]\[(\d+)\]/)

然后编号将存储在第一个捕获组$1中。

[前面有\,因为[是正则表达式中的特殊字符。

特殊\w表示&#34;任何单词字符&#34;。特殊+表示&#34;一次或多次&#34;。特殊\d表示&#34;任何数字&#34;。它周围的括号将其捕获到第一个捕获组中。

如您所见,我的匹配模式仅匹配HTML标记的开头部分。您可以选择使匹配比此示例更强大。

答案 1 :(得分:0)

尝试以下正则表达式:

使用捕获组来获取前两个括号之间的内容。

我认为match[1]会让你成为第一个捕获组。我不是很精通JavaScript:

var mystring = "STRINGABOVE";
var myRegexp = /name="\w+\[\w+\]\[(\d+)\]/gm;
var match = myRegexp.exec(myString);
alert(match[1]);

演示:https://regex101.com/r/jH4iW5/1