参考: http://www.jb51.net/article/52491.htm
3358 www.cn blogs.com/yirl in/archive/2006/04/12/373222.html
示例:包括admin,而不包括abc。
^ () ) (? abc.) *admin () )? abc.) *$
查资料知道:
(? pattern ) )负方向的事前检查。 在与pattern不匹配的字符串的开头与搜索字符串匹配。 这是非捕获匹配,不需要捕获以供将来使用。 例如' Windows (? 95|98|NT|2000 ()与Windows 3.1版中的Windows匹配,但与Windows 2000版中的Windows不匹配。 预检不消耗字符。 也就是说,在出现一个匹配项后,将在最后一个匹配项之后立即开始查找下一个匹配项,而不是从包含印前检查的字符之后
(? abc )的意思是不匹配abc
那么() )? abc (.)表示匹配不包含abc的字符()。 abc )与任意字符.的组合,多次出现*
() )? abc (.) *的结果匹配了不包含abc的字符串
首尾相连^ () ) )? abc (.) *$表示匹配一行
效果如下
我知道上面的() )? abc*.*表示与不包含abc的字符串匹配。 它希望与不包含ABC但包含admin的字符串相匹配。
那么,要让admin的两端显示不包含abc的字符串吗?
试试:
^ () ) (? abc.) *admin () )? abc.) *$
简单测试一下,就可以了。
应该有更简洁的方法。 请用信息通知我~
请参考这篇文章:
3358 blog.csdn.net/the wind kee/article/details/53886023