javascript - 无效的正则表达式错误

标签 javascript regex pattern-matching lookbehind


我试图检索这个字符串“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/

相关文章:

javascript - 如何聚合 Node.js 流回调中异步函数生成的 Promise?

javascript - var functionName = function() {} vs function functionName() {}

javascript - 在 ReactJS 上使用 axios 选择输入返回未定义

python - 如何使用 Python 正则表达式获取 C++ 文件中的第一个 #include 语句?

string - 从模式中提取 Lua XML

ruby - 如何模式匹配字符串中的字符串,然后将其提取到变量中

javascript - CKEditor - 格式化编辑器显示将撇号更改为 lsquo

java - 替换 "^"字符

regex - 反向正则表达式搜索

java - 正则表达式 - 包括字符串 : java