【发布时间】:2021-10-08 20:03:40
【问题描述】:
帮助使用正则表达式(javascript 风格):
第一个正则表达式(我称之为“引号正则表达式”)将匹配匹配引号之间的所有内容(单/双):/((?<quote>["']).*?\k<quote>)/i
然后我有这个(我们称之为“标签正则表达式”):/(?<=\s?)\S+:((?<quote>["']).*?\k<quote>|\(.*?\)|.*?(?=\s)|.*)/i:
This should match:
tag:something
tag:"something in double quotes"
tag:'something in single quotes'
tag:(between brackets)
[tag] -> can be any word
我需要的是从“quote regex”的结果中忽略“tag regex”
我尝试了负/正前瞻/后视,但它要么匹配所有内容,要么什么都不匹配......
有趣的是,使用否定的lookbehind (?
https://regex101.com/r/1KEHfW/1
我正在分享一个指向 regex101 的链接,它“工作”,但我在第一行放了一个换行符,如果你删除了它停止工作的断行。
【问题讨论】:
标签: javascript regex regex-lookarounds regex-group regex-negation