JavaScript RegExp ¶ÔÏó
RegExp ¶ÔÏó
RegExp ¶ÔÏó±íʾÕýÔò±í´ïʽ£¬ËüÊǶÔ×Ö·û´®Ö´ÐÐģʽƥÅäµÄÇ¿´ó¹¤¾ß¡£
Ö±½ÓÁ¿Óï·¨
/pattern/attributes
´´½¨ RegExp ¶ÔÏóµÄÓï·¨£º
new RegExp(pattern, attributes);
²ÎÊý
²ÎÊý pattern ÊÇÒ»¸ö×Ö·û´®£¬Ö¸¶¨ÁËÕýÔò±í´ïʽµÄģʽ»òÆäËûÕýÔò±í´ïʽ¡£
²ÎÊý attributes ÊÇÒ»¸ö¿ÉÑ¡µÄ×Ö·û´®£¬°üº¬ÊôÐÔ "g"¡¢"i" ºÍ "m"£¬·Ö±ðÓÃÓÚÖ¸¶¨È«¾ÖÆ¥Åä¡¢Çø·Ö´óСдµÄÆ¥ÅäºÍ¶àÐÐÆ¥Åä¡£ECMAScript ±ê×¼»¯Ö®Ç°£¬²»Ö§³Ö m ÊôÐÔ¡£Èç¹û pattern ÊÇÕýÔò±í´ïʽ£¬¶ø²»ÊÇ×Ö·û´®£¬Ôò±ØÐëÊ¡ÂԸòÎÊý¡£
·µ»ØÖµ
Ò»¸öÐ嵀 RegExp ¶ÔÏ󣬾ßÓÐÖ¸¶¨µÄģʽºÍ±êÖ¾¡£Èç¹û²ÎÊý pattern ÊÇÕýÔò±í´ïʽ¶ø²»ÊÇ×Ö·û´®£¬ÄÇô RegExp() ¹¹Ô캯Êý½«ÓÃÓëÖ¸¶¨µÄ RegExp ÏàͬµÄģʽºÍ±êÖ¾´´½¨Ò»¸öÐ嵀 RegExp ¶ÔÏó¡£
Èç¹û²»Óà new ÔËËã·û£¬¶ø½« RegExp() ×÷Ϊº¯Êýµ÷Óã¬ÄÇôËüµÄÐÐΪÓëÓà new ÔËËã·ûµ÷ÓÃʱһÑù£¬Ö»Êǵ± pattern ÊÇÕýÔò±í´ïʽʱ£¬ËüÖ»·µ»Ø pattern£¬¶ø²»ÔÙ´´½¨Ò»¸öÐ嵀 RegExp ¶ÔÏó¡£
Å׳ö
SyntaxError - Èç¹û pattern ²»ÊǺϷ¨µÄÕýÔò±í´ïʽ£¬»ò attributes º¬ÓÐ "g"¡¢"i" ºÍ "m" Ö®ÍâµÄ×Ö·û£¬Å׳ö¸ÃÒì³£¡£
TypeError - Èç¹û pattern ÊÇ RegExp ¶ÔÏ󣬵«Ã»ÓÐÊ¡ÂÔ attributes ²ÎÊý£¬Å׳ö¸ÃÒì³£¡£
ÐÞÊηû
| ÐÞÊηû | ÃèÊö |
|---|---|
| i | Ö´ÐжԴóСд²»Ãô¸ÐµÄÆ¥Åä¡£ |
| g | Ö´ÐÐÈ«¾ÖÆ¥Å䣨²éÕÒËùÓÐÆ¥Åä¶ø·ÇÔÚÕÒµ½µÚÒ»¸öÆ¥ÅäºóÍ£Ö¹£©¡£ |
| m | Ö´ÐжàÐÐÆ¥Åä¡£ |
·½À¨ºÅ
·½À¨ºÅÓÃÓÚ²éÕÒij¸ö·¶Î§ÄÚµÄ×Ö·û£º
| ±í´ïʽ | ÃèÊö |
|---|---|
| [abc] | ²éÕÒ·½À¨ºÅÖ®¼äµÄÈκÎ×Ö·û¡£ |
| [^abc] | ²éÕÒÈκβ»ÔÚ·½À¨ºÅÖ®¼äµÄ×Ö·û¡£ |
| [0-9] | ²éÕÒÈÎºÎ´Ó 0 ÖÁ 9 µÄÊý×Ö¡£ |
| [a-z] | ²éÕÒÈκδÓСд a µ½Ð¡Ð´ z µÄ×Ö·û¡£ |
| [A-Z] | ²éÕÒÈκδӴóд A µ½´óд Z µÄ×Ö·û¡£ |
| [A-z] | ²éÕÒÈκδӴóд A µ½Ð¡Ð´ z µÄ×Ö·û¡£ |
| [adgk] | ²éÕÒ¸ø¶¨¼¯ºÏÄÚµÄÈκÎ×Ö·û¡£ |
| [^adgk] | ²éÕÒ¸ø¶¨¼¯ºÏÍâµÄÈκÎ×Ö·û¡£ |
| (red|blue|green) | ²éÕÒÈκÎÖ¸¶¨µÄÑ¡Ïî¡£ |
Ôª×Ö·û
Ôª×Ö·û£¨Metacharacter£©ÊÇÓµÓÐÌØÊ⺬ÒåµÄ×Ö·û£º
| Ôª×Ö·û | ÃèÊö |
|---|---|
| . | ²éÕÒµ¥¸ö×Ö·û£¬³ýÁË»»ÐкÍÐнáÊø·û¡£ |
| \w | ²éÕÒµ¥´Ê×Ö·û¡£ |
| \W | ²éÕҷǵ¥´Ê×Ö·û¡£ |
| \d | ²éÕÒÊý×Ö¡£ |
| \D | ²éÕÒ·ÇÊý×Ö×Ö·û¡£ |
| \s | ²éÕÒ¿Õ°××Ö·û¡£ |
| \S | ²éÕҷǿհ××Ö·û¡£ |
| \b | Æ¥Åäµ¥´Ê±ß½ç¡£ |
| \B | Æ¥Åä·Çµ¥´Ê±ß½ç¡£ |
| \0 | ²éÕÒ NUL ×Ö·û¡£ |
| \n | ²éÕÒ»»Ðзû¡£ |
| \f | ²éÕÒ»»Ò³·û¡£ |
| \r | ²éÕһسµ·û¡£ |
| \t | ²éÕÒÖÆ±í·û¡£ |
| \v | ²éÕÒ´¹Ö±ÖƱí·û¡£ |
| \xxx | ²éÕÒÒ԰˽øÖÆÊý xxx ¹æ¶¨µÄ×Ö·û¡£ |
| \xdd | ²éÕÒÒÔÊ®Áù½øÖÆÊý dd ¹æ¶¨µÄ×Ö·û¡£ |
| \uxxxx | ²éÕÒÒÔÊ®Áù½øÖÆÊý xxxx ¹æ¶¨µÄ Unicode ×Ö·û¡£ |
Á¿´Ê
| Á¿´Ê | ÃèÊö |
|---|---|
| n+ | Æ¥ÅäÈκΰüº¬ÖÁÉÙÒ»¸ö n µÄ×Ö·û´®¡£ |
| n* | Æ¥ÅäÈκΰüº¬Áã¸ö»ò¶à¸ö n µÄ×Ö·û´®¡£ |
| n? | Æ¥ÅäÈκΰüº¬Áã¸ö»òÒ»¸ö n µÄ×Ö·û´®¡£ |
| n{X} | Æ¥Åä°üº¬ X ¸ö n µÄÐòÁеÄ×Ö·û´®¡£ |
| n{X,Y} | Æ¥Åä°üº¬ X »ò Y ¸ö n µÄÐòÁеÄ×Ö·û´®¡£ |
| n{X,} | Æ¥Åä°üº¬ÖÁÉÙ X ¸ö n µÄÐòÁеÄ×Ö·û´®¡£ |
| n$ | Æ¥ÅäÈκνáβΪ n µÄ×Ö·û´®¡£ |
| ^n | Æ¥ÅäÈκοªÍ·Îª n µÄ×Ö·û´®¡£ |
| ?=n | Æ¥ÅäÈÎºÎÆäºó½ô½ÓÖ¸¶¨×Ö·û´® n µÄ×Ö·û´®¡£ |
| ?!n | Æ¥ÅäÈÎºÎÆäºóûÓнô½ÓÖ¸¶¨×Ö·û´® n µÄ×Ö·û´®¡£ |
RegExp ¶ÔÏóÊôÐÔ
| ÊôÐÔ | ÃèÊö | FF | IE |
|---|---|---|---|
| global | RegExp ¶ÔÏóÊÇ·ñ¾ßÓбêÖ¾ g¡£ | 1 | 4 |
| ignoreCase | RegExp ¶ÔÏóÊÇ·ñ¾ßÓбêÖ¾ i¡£ | 1 | 4 |
| lastIndex | Ò»¸öÕûÊý£¬±êʾ¿ªÊ¼ÏÂÒ»´ÎÆ¥ÅäµÄ×Ö·ûλÖᣠ| 1 | 4 |
| multiline | RegExp ¶ÔÏóÊÇ·ñ¾ßÓбêÖ¾ m¡£ | 1 | 4 |
| source | ÕýÔò±í´ïʽµÄÔ´Îı¾¡£ | 1 | 4 |
RegExp ¶ÔÏó·½·¨
| ·½·¨ | ÃèÊö | FF | IE |
|---|---|---|---|
| compile | ±àÒëÕýÔò±í´ïʽ¡£ | 1 | 4 |
| exec | ¼ìË÷×Ö·û´®ÖÐÖ¸¶¨µÄÖµ¡£·µ»ØÕÒµ½µÄÖµ£¬²¢È·¶¨ÆäλÖᣠ| 1 | 4 |
| test | ¼ìË÷×Ö·û´®ÖÐÖ¸¶¨µÄÖµ¡£·µ»Ø true »ò false¡£ | 1 | 4 |