zpět k lekci

Java[^script]

Máme regulární výraz /Java[^script]/.

Najde shodu v řetězci Java? A v řetězci JavaScript?

Odpovědi zní: ne, ano.

  • V řetězci Java nenalezne nic, neboť [^script] znamená „jakýkoli znak kromě uvedených“. Regulární výraz tedy bude hledat řetězec "Java" následovaný jedním takovým symbolem, ale po něm nenásleduje žádný symbol, nýbrž konec řetězce.

    alert( "Java".match(/Java[^script]/) ); // null
  • Ano, protože části [^script] odpovídá znak "S", který není jedním ze script. Protože tento RV rozlišuje malá a velká písmena (nemá příznak i), bude "S" považovat za jiný znak než "s".

    alert( "JavaScript".match(/Java[^script]/) ); // "JavaS"