¸g¹L¤F«e¨â¸`ªº¤¶²Ð¡A§Ú·Q¦U¦ì¦P¾Ç³£¯àÁA¸Ñ¨ì¥¿³W¦¡ªº«Â¤O¬OµL»·¥±©¡ªº¡A¦ý¦p¦ó¾A¤Áªºµo´§¥¿³W¦¡ªº¥\¯à¡A´Nn¬Ýµ{¦¡³]pªÌªº¸gÅç©M¥\¤O¤F¡C ¤Uªí¾ã²z¥X±`¥Î¨ìªº¥¿³W¦¡¡A¤è«K¦U¦ì¦P¾Ç¯à¶i¦æ§Ö³t´M§ä¤ÎÀ³¥Î¡C»P³q¥Î¦¡¬ÛÃöªº¤èªk¥i¦Cªí¦p¤U¡G
»P³q¥Î¦¡¬ÛÃöªº¤èªk ¥\¯à re.exec(string) ±q¦r¦ê string ©â¨ú²Å¦X³q¥Î¦¡ re ªº¤l¦r¦ê¡A¨Ã¥H¦r¦ê°}¦C¶Ç¦^ re.test(string) ¥H¦r¦ê string ¤ñ¹ï³q¥Î¦¡ re¡A¨Ã¶Ç¦^¤ñ¹ïµ²ªG¡]true ¥Nªí¤ñ¹ï¦¨¥\¡Afalse ¥Nªí¤ñ¹ï¥¢±Ñ¡^ string.search(re) ³q¥Î¦¡ re ¦b¬YÓ¦r¦ê string ¥X²{ªº¦ì¸m string.match(re) ±q¦r¦ê string ©â¨ú²Å¦X³q¥Î¦¡ re ªº¤l¦r¦ê¡A¨Ã¥H¦r¦ê°}¦C¶Ç¦^¡A¦¹¥\¯à©M re.exec(string) ¬Û¦P string.replace(re, newStr) ±N¦r¦ê string ²Å¦X³q¥Î¦¡ re ªº³¡¤À¡A¥N´«¬° newStr ¦b¤U¦Cªºªí®æ¤¤¡A§Ų́ϥδXÓ²³æªº½d¨Ò¨Ó¹ï³q¥Î¦¡ªºÀ³¥Î°µ¸û§¹¾ãªº»¡©ú¡G
³q¥Î¦¡ »¡©ú¤Î½d¨Ò ¤ñ¹ï¤£¦¨¥ß¤§¦r¦ê /a/ §t¦r¥À "a" ªº¦r¦ê¡A¨Ò¦p "ab", "bac", "cba" "xyz" /a./ §t¦r¥À "a" ¥H¤Î¨ä«á¥ô¤@Ó¦r¤¸ªº¦r¦ê¡A¨Ò¦p "ab", "bac"¡]Yn¤ñ¹ï.¡A½Ð¨Ï¥Î \.¡^ "a", "ba" /^xy/ ¥H "xy" ¶}©lªº¦r¦ê¡A¨Ò¦p "xyz", "xyab"¡]Yn¤ñ¹ï ^¡A½Ð¨Ï¥Î \^¡^ "axy", "bxy" /xy$/ ¥H "xy" µ²§Àªº¦r¦ê¡A¨Ò¦p "axy", "abxy"¥H "xy" µ²§Àªº¦r¦ê¡A¨Ò¦p "axy", "abxy" ¡]Yn¤ñ¹ï $¡A½Ð¨Ï¥Î \$¡^ "xya", "xyb" /[13579]/ ¥]§t "1" ©Î "3" ©Î "5" ©Î "7" ©Î "9" ªº¦r¦ê¡A¨Ò¦p¡G"a3b", "1xy" "y2k" /[0-9]/ §t¼Æ¦r¤§¦r¦ê ¤£§t¼Æ¦r¤§¦r¦ê /[a-z0-9]/ §t¼Æ¦r©Î¤p¼g¦r¥À¤§¦r¦ê ¤£§t¼Æ¦r¤Î¤p¼g¦r¥À¤§¦r¦ê /[a-zA-Z0-9]/ §t¼Æ¦r©Î¦r¥À¤§¦r¦ê ¤£§t¼Æ¦r¤Î¦r¥À¤§¦r¦ê /b[aeiou]t/ "bat", "bet", "bit", "bot", "but" "bxt", "bzt" /[^0-9]/ ¤£§t¼Æ¦r¤§¦r¦ê¡]Yn¤ñ¹ï ^¡A½Ð¨Ï¥Î \^¡^ §t¼Æ¦r¤§¦r¦ê /[^aeiouAEIOU]/ ¤£§t¥Àµ¤§¦r¦ê¡]Yn¤ñ¹ï ^¡A½Ð¨Ï¥Î \^¡^ §t¥Àµ¤§¦r¦ê /[^\^]/ ¤£§t "^" ¤§¦r¦ê¡A¨Ò¦p "xyz", "abc" "xy^", "a^bc" ½Ðª`·N¦b¤Wªí¤¤¡A"^" ¦b¨â±ø±×½u¤¤¡A¥Nªí¤@Ó¦r¦êªº¶}©l¦ì¸m¡A¦]¦¹ /^xy/ ¥Nªí¥H "xy" ¶}©lªº¦r¦ê¡C ¦P²z¡A"$" ¦b¨â±ø±×½u¤¤¡A¥Nªí¤@Ó¦r¦êªºµ²§ô¦ì¸m¡A¦]¦¹ /xy$/ ¥Nªí¥H "xy" µ²§ôªº¦r¦ê¡C ¦ý¬O¦pªG±N "^" ©ñ¦b¨âÓ¤è¬A©·¤¤¡A´N¥Nªí¡u§_©w¡v¡A¦]¦¹ [^aeiouAEIOU] ¥Nªí¤£§t¥Àµ¤§¦r¤¸¡C
¥t¥~¡AYnÁ×±¼¯S®í¦r¤¸ªº¯S®í·N¸q¡A´Nn¦b¦¹¦r¤¸«e¥[¤W "\"¡A¨Ò¦p¤Wªí¤¤ªº³Ì«á¤@¦C¡A"^" ¦b¤è¬A©·¸Ì±¬O¥Nªí¡u§_©w¡v¡A¦]¦¹Yn¦b¤è¬A©·¸Ì±¤ñ¹ï "^"¡A´Nn¨Ï¥Î "\^"¡A©Ò¥H¡u¤£§t "^" ¤§¦r¦ê¡vªº³q¥Î¦¡´N¬O "[^\^]"¡C
¥H RegExp(pattern, flag) ªº¤è¦¡¨Ó«Ø¥ß³q¥Î¦¡ª«¥ó®É¡AY pattern ¥]§t¥H¤Ï±×½u¶}ÀYªº¯S®í¦r¤¸¡]¨Ò¦p \d¡B\w¡B\s µ¥¡^®É¡A§ÚÌ¥²¶·¦A¥[¤W¤@Ӥϱ׽u¨Ó«O¯d¨ä¯S®í·N¸q¡C¨Ò¦p¡G
re = /\d+\s\w+/g ¥H RegExp ¬°¥Dªºµ¥®Äªí¥Üªk¬°¡Gre = new RegExp("\\d+\\s\\w+", "g"); ¦³¨Ç³q¥Î¦¡·|±`³Q¥Î¨ì¡A¦]¦¹¤w³Q©w¸q¬°¯S©w¦r¤¸¡A¥H²¤Æ¾ãÅé³q¥Î¦¡¡A³o¨Ç¦r¤¸¥i¦Cªí»¡©ú¦p¤U¡G
³q¥Îªí¥Üªkªº¯S©w¦r¤¸ »¡©ú µ¥®Äªº³q¥Îªí¥Üªk \d ¼Æ¦r [0-9] \D «D¼Æ¦r [^0-9] \w ¼Æ¦r¡B¦r¥À¡B©³½u [a-zA-Z0-9_] \W «D \w [^a-zA-Z0-9_] \s ªÅ¥Õ¦r¤¸ [ \r\t\n\f] \S «DªÅ¥Õ¦r¤¸ [^ \r\t\n\f] ¦¹¥~¡A§ÚÌ¥i©w¸q¦r¤¸ªº«½Æ¦¸¼Æ¡A¦p¤U¡G
³q¥Îªí¥Üªk »¡©ú /a?/ ¹s©Î¤@Ó a¡]Yn¤ñ¹ï? ¦r¤¸¡A½Ð¨Ï¥Î \?¡^ /a+/ ¤@©Î¦hÓ a¡]Yn¤ñ¹ï+ ¦r¤¸¡A½Ð¨Ï¥Î \+¡^ /a*/ ¹s©Î¦hÓ a¡]Yn¤ñ¹ï* ¦r¤¸¡A½Ð¨Ï¥Î \*¡^ /a{4}/ ¥|Ó a /a{5,10}/ ¤¦Ü¤QÓ a /a{5,}/ ¦Ü¤Ö¤Ó a /a{,3}/ ¦Ü¦h¤TÓ a /a.{5}b/ a ©M b¤¤¶¡§¨¤Ó¡]«D´«¦æ¡^¦r¤¸ ¬Û«H¦U¦ì²{¦b¤w¸g¥i¥HÅé·|¨ì³q¥Îªí¥Ü¦¡ªº«Â¤O¤F¡I
¥H¤U¦A¹ï³q¥Î¦¡¡A¶i¦æ¤ñ¸û§¹¾ãªº¦Cªí»P»¡©ú¡G
¦r¤¸ »¡©ú ²³æ½d¨Ò \ Á×¶}¯S®í¦r¤¸ /A\*/ ¥i¥Î©ó¤ñ¹ï "A*"¡A¨ä¤¤ * ¬O¤@Ó¯S®í¦r¤¸¡A¬°Á×¶}¨ä¯S®í·N¸q¡A©Ò¥H¥²¶·¥[¤W "\" ^ ¤ñ¹ï¿é¤J¦Cªº°_©l¦ì¸m /^A/ ¥i¤ñ¹ï "Abcd" ¤¤ªº "A"¡A¦ý¤£¥i¤ñ¹ï "aAb" $ ¤ñ¹ï¿é¤J¦Cªºµ²§ô¦ì¸m /A$/ ¥i¤ñ¹ï "bcdA" ¤¤ªº "A"¡A¦ý¤£¥i¤ñ¹ï "aAb" * ¤ñ¹ï«e¤@Ó¦r¤¸¹s¦¸©Î§ó¦h¦¸ /bo*/ ¥i¤ñ¹ï "Good boook" ¤¤ªº "booo"¡A¥ç¥i¤ñ¹ï "Good bk" ¤¤ªº "b" + ¤ñ¹ï«e¤@Ó¦r¤¸¤@¦¸©Î§ó¦h¦¸¡Aµ¥®Ä©ó {1,} /a+/ ¥i¤ñ¹ï "caaandy" ¤¤ªº "aaa"¡A¦ý¤£¥i¤ñ¹ï "cndy" ? ¤ñ¹ï«e¤@Ó¦r¤¸¹s¦¸©Î¤@¦¸ /e?l/ ¥i¤ñ¹ï "angel" ¤¤ªº "el"¡A¤]¥i¥H¤ñ¹ï "angle" ¤¤ªº "l" . ¤ñ¹ï¥ô¦ó¤@Ó¦r¤¸¡]¦ý´«¦æ²Å¸¹¤£ºâ¡^ /.n/ ¥i¤ñ¹ï "nay, an apple is on the tree" ¤¤ªº "an" ©M "on"¡A¦ý¤£¥i¤ñ¹ï "nay" (x) ¤ñ¹ï x ¨Ã±N²Å¦Xªº³¡¤À¦s¤J¤@ÓÅÜ¼Æ /(a*) and (b*)/ ¥i¤ñ¹ï "aaa and bb" ¤¤ªº "aaa" ©M "bb"¡A¨Ã±N³o¨âÓ¤ñ¹ï±o¨ìªº¦r¦ê³]©w¦ÜÅÜ¼Æ RegExp.$1 ©M RegExp.$2¡C x|y ¤ñ¹ï x ©Î y /a+|b+/g ¥i¤ñ¹ï "aaa k bb" ¤¤ªº "aaa" ©M "bb" {n} ¤ñ¹ï«e¤@Ó¦r¤¸ n ¦¸¡An ¬°¤@Ó¥¿¾ã¼Æ /a{3}/ ¥i¤ñ¹ï "lllaaalaa" ¨ä¤¤ªº "aaa"¡A¦ý¤£¥i¤ñ¹ï "aa" {n,} ¤ñ¹ï«e¤@Ó¦r¤¸¦Ü¤Ö n ¦¸¡An ¬°¤@Ó¥¿¾ã¼Æ /a{3,}/ ¥i¤ñ¹ï "aa aaa aaaa" ¨ä¤¤ªº "aaa" ¤Î "aaaa"¡A¦ý¤£¥i¤ñ¹ï "aa" {n,m} ¤ñ¹ï«e¤@Ó¦r¤¸¦Ü¤Ö n ¦¸¡A¦Ü¦h m ¦¸¡Am¡Bn §¡¬°¥¿¾ã¼Æ /a{3,4}/ ¥i¤ñ¹ï "aa aaa aaaa aaaaa" ¨ä¤¤ªº "aaa" ¤Î "aaaa"¡A¦ý¤£¥i¤ñ¹ï "aa" ¤Î "aaaaa" [xyz] ¤ñ¹ï¤¤¬A©·¤ºªº¥ô¤@Ó¦r¤¸ /[ecm]/ ¥i¤ñ¹ï "welcome" ¤¤ªº "e" ©Î "c" ©Î "m" [^xyz] ¤ñ¹ï¤£¦b¤¤¬A©·¤º¥X²{ªº¥ô¤@Ó¦r¤¸ /[^ecm]/ ¥i¤ñ¹ï "welcome" ¤¤ªº "w"¡B"l"¡B"o"¡A¥i¨£¥X¨ä»P [xyz] ¥\¯à¬Û¤Ï¡C¡]¦P®É½Ð¦P¾Ç¤]ª`·N /^/ »P [^] ¤§¶¡¥\¯àªº¤£¦P¡C¡^ [\b] ¤ñ¹ï°h¦ì¦r¤¸¡]Backspace character¡^ ¥i¥H¤ñ¹ï¤@Ó backspace ¡A¤]½Ðª`·N [\b] »P \b ¤§¶¡ªº®t§O \b ¤ñ¹ï^¤å¦rªºÃä¬É¡A¨Ò¦pªÅ®æ ¨Ò¦p /\bn\w/ ¥i¥H¤ñ¹ï "noonday" ¤¤ªº 'no' ;
/\wy\b/ ¥i¤ñ¹ï "possibly yesterday." ¤¤ªº 'ly'\B ¤ñ¹ï«D¡u^¤å¦rªºÃä¬É¡v ¨Ò¦p, /\w\Bn/ ¥i¥H¤ñ¹ï "noonday" ¤¤ªº 'on' ,
¥t¥~ /y\B\w/ ¥i¥H¤ñ¹ï "possibly yesterday." ¤¤ªº 'ye'\cX ¤ñ¹ï±±¨î¦r¤¸¡]Control character¡^¡A¨ä¤¤ X ¬O¤@Ó±±¨î¦r¤¸ /\cM/ ¥i¥H¤ñ¹ï ¤@Ó¦r¦ê¤¤ªº control-M \d ¤ñ¹ï¥ô¤@ӼƦr¡Aµ¥®Ä©ó [0-9] /[\d]/ ¥i¤ñ¹ï ¥Ñ "0" ¦Ü "9" ªº¥ô¤@¼Æ¦r ¦ý¨ä¾l¦p¦r¥Àµ¥´N¤£¥i¤ñ¹ï \D ¤ñ¹ï¥ô¤@Ó«D¼Æ¦r¡Aµ¥®Ä©ó [^0-9] /[\D]/ ¥i¤ñ¹ï "w" "a"... ¦ý¤£¥i¤ñ¹ï¦p "7" "1" µ¥¼Æ¦r \f ¤ñ¹ï form-feed Y¬O¦b¤å¦r¤¤¦³µo¥Í "´«¶" ªº¦æ¬° «h¥i¥H¤ñ¹ï¦¨¥\ \n ¤ñ¹ï´«¦æ²Å¸¹ Y¬O¦b¤å¦r¤¤¦³µo¥Í "´«¦æ" ªº¦æ¬° «h¥i¥H¤ñ¹ï¦¨¥\ \r ¤ñ¹ï carriage return \s ¤ñ¹ï¥ô¤@Ӫťզr¤¸¡]White space character¡^¡Aµ¥®Ä©ó [ \f\n\r\t\v] /\s\w*/ ¥i¤ñ¹ï "A b" ¤¤ªº "b" \S ¤ñ¹ï¥ô¤@Ó«DªÅ¥Õ¦r¤¸¡Aµ¥®Ä©ó [^ \f\n\r\t\v] /\S/\w* ¥i¤ñ¹ï "A b" ¤¤ªº "A" \t ¤ñ¹ï©w¦ì¦r¤¸¡]Tab¡^ \v ¤ñ¹ï««ª½©w¦ì¦r¤¸¡]Vertical tab¡^ \w ¤ñ¹ï¼Æ¦r¦r¥À¦r¤¸¡]Alphanumerical characters¡^©Î©³½u¦r¥À¡]"_"¡^¡Aµ¥®Ä©ó [A-Za-z0-9_] /\w/ ¥i¤ñ¹ï ".A _!9" ¤¤ªº "A"¡B"_"¡B"9"¡C \W ¤ñ¹ï«D¡u¼Æ¦r¦r¥À¦r¤¸©Î©³½u¦r¥À¡v¡Aµ¥®Ä©ó [^A-Za-z0-9_] /\W/ ¥i¤ñ¹ï ".A _!9" ¤¤ªº "."¡B" "¡B"!"¡A¥i¨£¨ä¥\¯à»P /\w/ «ê¦n¬Û¤Ï¡C \ooctal ¤ñ¹ï¤K¶i¦ì¡A¨ä¤¤octal¬O¤K¶i¦ì¼Æ¥Ø /\oocetal123/ ¥i¤ñ¹ï »P ¤K¶i¦ìªºASCII¤¤ "123" ©Ò¬Û¹ïÀ³ªº¦r¤¸È¡C \xhex ¤ñ¹ï¤Q¤»¶i¦ì¡A¨ä¤¤hex¬O¤Q¤»¶i¦ì¼Æ¥Ø /\xhex38/ ¥i¤ñ¹ï »P 16¶i¦ìªºASCII¤¤ "38" ©Ò¬Û¹ïÀ³ªº¦r¤¸¡C
JavaScript µ{¦¡³]p»PÀ³¥Î¡G¥Î©óºô¶¥Î¤áºÝ![]()