表达式 /Java(?! Script)[A-Z]\w*/
有下面几个字符串:
"JavaBeans"
"Javanese"
"Javascript"
"Javascripter"
只有"JavaBeans"
是匹配的。
首先,观察这个正则表达式:
(?!pattern)
这个表达式匹配不处于匹配pattern
的字符串的起始点的搜索字符串。例如,"Java (?! Script)" 匹配"Java script"中的 "Java",但不匹配"Java Script"中的"Java"。[A-Z]
查找任何从大写 A 到大写 Z 的字符。\w
查找单词字符。n*
匹配任何包含零个或多个 n 的字符串。
对于"JavaBeans"
由于不包含" Script"
(前面有空格),Java
后面紧跟着大写字母开始的Beans
,所以是可以匹配的。
对于"Javanese"
、"Javascript"
与"Javascripter"
,由于Java
后面没有大写字母开始的单词,所以不匹配。