[英]Invalid regular expression: Invalid group in node.js
我正在尝试将ELB负载平衡器日志映射为具有nginx之类的通用格式并使用此正则表达式
const splitElbEntry = (elbLogEntry) => R.match(/(?P<date>[0-9-]+T[0-9:]+)\.\S+/)
我收到此错误:
SyntaxError: Invalid regular expression: /(?P<date>[0-9-]+T[0-9:]+)\.\S+/: Invalid group
尽管在https://regexr.com/3o06l上找到时间戳,但是如果我添加新组,则regex失败。
什么是https://regex101.com/r/JOlrxS/5的正确JavaScript等效项
任何建议深表感谢
regexr中选择的风味是PCRE,最终风味是JS。 JS不支持(?P<name>...)
表示法。 但是, (?<name>...)
将在ECMAScript 2018中实现(当前受Google Chrome支持)。
到目前为止,您不能使用在所有主要浏览器中都可以使用的命名捕获组。 处理简单编号的捕获组。
我使用编号的捕获组获得了所需的结果,感谢您的帮助。
https://regex101.com/r/JOlrS/6
([0-9-]+T[0-9:]+)\.\S+\s+\S+\s+(\S+):\d+\s+\S+:\d+\s+\S+\s+(\S+)\s+\S+\s+(\S+)\s+\S+\s+\S+\s+(\S+)\s+\"\S+\s+\w+:\/\/([\w\-\.]*):\d+(\/\S*)\s+[^\"]+\"\s+\"([^\"]+)\"\s+\S+\s+\S+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.