我试图检索这个字符串“property_id=516&category=featured-properties
”的类别部分,所以结果应该是“featured-properties”,我想出了一个正则表达式并测试了它在本网站http://gskinner.com/RegExr/ , 它按预期工作,但是当我将正则表达式添加到我的 javascript 代码时,我遇到了“无效的正则表达式”错误,谁能告诉我是什么弄乱了这段代码?
谢谢!
var url = "property_id=516&category=featured-properties"
var urlRE = url.match('(?<=(category=))[a-z-]+');
alert(urlRE[0]);
最佳答案
在不符合 ECMAScript 2018 标准的 JavaScript 环境中不支持正向回顾(您的 ?<=
),这会导致您的 RegEx 失败。
你可以用一大堆不同的方式模仿它们,但这可能是一个更简单的正则表达式来为你完成工作:
var url = "property_id=516&category=featured-properties"
var urlRE = url.match(/category=([^&]+)/);
// urlRE => ["category=featured-properties","featured-properties"]
// urlRE[1] => "featured-properties"
这是一个 super 简单的示例,但是如果您需要的话,在 StackOverflow 中搜索用于解析 URL 参数的 RegEx 模式将会找到更强大的示例。
关于javascript - 无效的正则表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5952936/