我有很多输入字段,这种语法
<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获取第一个括号中的数字?
答案 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]);