使用正则表达式查找并非以给定单词开头的所有单词出现

时间:2018-08-08 15:22:52

标签: regex

我想构建正则表达式,以查找出现“星”字的所有位置。条件是,“星”字之前不能有点或单词“黑”。

例如

Blah BlackStar blah .Star blah GreenStar blah Red.Star blah blah RedStar

仅应返回粗体出现的内容。斜体出现应忽略。

到目前为止,我已经创建了正则表达式

\w*(?<!Black)Star 

仅检查一个条件,如果单词“ Star”不是以单词“ Black”开头。

我想找到一种添加更多条件的方法。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用:

\w*(?<!\.|Black)Star

应该在PCRE中起作用,但是如果使用python,请将此正则表达式与2个不同的否定后置断言一起使用:

\w*(?<!Black)(?<!\.)Star

RegEx Demo