Java[^script]
regexp /Java[^script]/ があります。
これは、文字列 Java 内の何かと一致しますか? 文字列 JavaScript 内ではどうですか?
答え: いいえ、はい。
-
スクリプト
Javaでは、何も一致しません。それは、[^script]が、「指定されたもの以外の任意の文字」を意味するからです。そのため、regexp は"Java"の後にその記号が続くものを探しますが、文字列の終わりで、それ以降の記号はありません。alert( "Java".match(/Java[^script]/) ); // null -
はい。それは、
[^script]の部分が「S」という文字と一致するからです。これはscriptのいずれとも一致しません。regexp は大文字と小文字を区別するため(iフラグがありません)、"S"を"s"とは異なる文字として扱います。alert( "JavaScript".match(/Java[^script]/) ); // "JavaS"