"123abc".match(/abc|3ab/) /* 3ab */
文字列の先頭から検索が始まり、マッチすると途中で検索が終わる。
[123]abc abc? NO. 3ab? NO.
1[23a]bc abc? NO. 3ab? NO.
12[3ab]c abc? NO. 3ab? YES. return "3ab";
123[abc]
"123abc".match(/(abc)|123/) /* ["123", undefined] */
(キャプチャする括弧)で何もキャプチャされなかった場合、 undefined を返す。
"o".replace(/(o)/,"<$1>") /* "<o>" */
"o".replace(/(x)|o/,"<$1>") /* "<>" */
replace では、空文字を返す。
/a\b/.test("_a_") /* false */
/a\b/.test("-a_") /* false */
/a\b/.test("_a-") /* true */
1 - 0.9 !== 0.1 /* true */
9999999999999999 === 10000000000000000 /* true */
"a" < "b" /* true */
"b" < "c" /* true */
"c" < "a" /* false */
var a = 10;
with ({a : 20}) {
alert(a); // 20
}
alert(a); // 10
コナミコマンド(105文字) <body onload=a=[] onkeyup=a.unshift
(event.keyCode-37);a.length=10;a=='28,29,2,0,2,0,3,3,1,1'&&alert(573)>
改行を含む任意の一文字にマッチする正規表現、[\s\S]じゃなくて[^]のほうが短い。