назад до уроку

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"