正则表达式:如何匹配不以前缀列表开头的子字符串
Posted
技术标签:
【中文标题】正则表达式:如何匹配不以前缀列表开头的子字符串【英文标题】:Regex: How to match substrings not starting with a list of prefixes 【发布时间】:2019-09-27 15:39:30 【问题描述】:我需要替换字符串中匹配的单词,但不包括这些单词的前缀列表。
The matchingWord should be replaced in the first line
But excludePrefix1.matchingWord , not in this line
Neither in this other line excludePrefix2.matchingWord
But again in this allowedPrefix.matchingWord
我成功地使用了一个带有单个前缀的正则表达式:
(?<!(excludePrefix1\.))matchingWord
但是如何使用几个排除的前缀来做到这一点?
我尝试过类似的东西:
(?<!((excludePrefix1\.)(excludePrefix2\.)))matchingWord
但这不起作用,请一位正则表达式专家帮助我们解决这个棘手的问题?
【问题讨论】:
【参考方案1】:在几个工具中,负后视必须是固定长度,对于您的问题,请使用多个后视:
(?<!excludePrefix1\.)(?<!excludePrefix2\.)matchingWord
【讨论】:
以上是关于正则表达式:如何匹配不以前缀列表开头的子字符串的主要内容,如果未能解决你的问题,请参考以下文章