繁体   English   中英

无效的正则表达式:node.js中的组无效

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM