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"