regex for matching something if it is not preceded by something else

So with regex in java, I want to write a regex that will match if and only if the pattern is not preceded by certain characters. For example:

String s = "foobar barbar beachbar crowbar bar ";

I want to match if bar is not preceded by foo. So output would be:

barbar
beachbar
crowbar
bar

I know this is probably a very simple question. I am trying to learn regex, but in the meantime I need something to work now.


You want to use negative lookbehind like this:

w*(?<!foo)bar

Where (?<!x) means "only if it doesn't have "x" before this point".

See Regular Expressions - Lookaround for more information.

Edit : added the w* to capture the characters before (eg "beach").

链接地址: http://www.djcxy.com/p/13450.html

上一篇: Python正则表达式匹配一个特定的单词

下一篇: 正则表达式匹配的东西,如果它没有其他的东西