【发布时间】:2017-06-23 05:59:30
【问题描述】:
使用这个正则表达式:
/lorem(?=[\s,;\[\]\(\)]*ipsum)/ig
它匹配后跟“ipsum”的“lorem”,有/没有“,;][)(”个字符。
示例文本:Lorem ipsum dolor sit amet,Lorem; ipsum dolor sit amet, Lorem,; (ipsum) dolor sit amet, Lorem dolor sit amet, Lorem amet。
如果我使用 ?: 而不是 ?= 它匹配从“lorem”到“ipsum”结尾的整个文本,例如“Lorem ipsum”、“Lorem; ipsum", "Lorem,; (ipsum" 等...。
现在我想正则表达式匹配“lorem”和“ipsum”而不匹配“,;][)(”字符。我如何修改表达式来做到这一点?
【问题讨论】:
-
是否应该在不同的组中匹配“lorem”和“ipsum”?
-
是的,但似乎 javascript 不支持前瞻中的分组。我说的对吗?
标签: javascript lookahead