Java[^script]
我们有一个正则表达式 /Java[^script]/
。
它会和字符串 Java
中的任何一部分匹配吗?JavaScript
呢?
·答案:不会,会。
-
不会。在字符串
Java
中,它不会匹配任何内容,因为[^script]
表示“除了给定的字符之外的任何字符”。因此,这个正则表达式会查找"Java"
后面是否有匹配这个规则的字符,但是这已经是整个字符串的结尾了,后面没有任何字符。alert( "Java".match(/Java[^script]/) ); // null
-
会。因为
[^script]
部分匹配到了字符"S"
。它不是script
。由于正则表达式区分大小写(没有i
修饰符),因此它将"S"
视为与"s"
不同的字符。alert( "JavaScript".match(/Java[^script]/) ); // "JavaS"