我需要匹配一个表达式,并使用命名组从中提取值。
可以说这是我的字符串:
var str = 'element=123'
所以我想使用正则表达式匹配它并提取元素和值。
我知道怎么做是c#,我想在JS中弄清楚。
这是我的正则表达式:
new RegExp(/^(<element>[A-Za-z0-9])+=[A-Za-z0-9]+$/);
我究竟做错了什么?
最佳答案
JavaScript不支持命名捕获组。
您将不得不使用编号的组。
例如:
var myregex = /([^=]+)=(.*)/;
var matchArray = myregex.exec(yourString);
if (matchArray != null) {
element = matchArray[1];
id = matchArray[2];
}
选项2:XRegExp
JavaScript XregexP的备用正则表达式库支持命名捕获以及JS正则表达式缺少的其他重要正则表达式功能,例如lookbehinds。
关于javascript - Javascript:命名捕获组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32586642/