JavaScript ÕýÔò±í´ïʽ
ÕýÔò±í´ïʽÊǹ¹³ÉËÑË÷ģʽµÄ×Ö·ûÐòÁС£
¸ÃËÑË÷ģʽ¿ÉÓÃÓÚÎı¾ËÑË÷ºÍÎı¾Ìæ»»²Ù×÷¡£
ʲôÊÇÕýÔò±í´ïʽ£¿
ÕýÔò±í´ïʽÊǹ¹³ÉËÑË÷ģʽ£¨search pattern£©µÄ×Ö·ûÐòÁС£
µ±ÄúËÑË÷Îı¾ÖеÄÊý¾Ýʱ£¬Äú¿ÉʹÓÃËÑË÷ģʽÀ´ÃèÊöÄúËÑË÷µÄÄÚÈÝ¡£
ÕýÔò±í´ïʽ¿ÉÒÔÊǵ¥×Ö·û£¬»òÕ߸ü¸´ÔÓµÄģʽ¡£
ÕýÔò±í´ïʽ¿ÉÓÃÓÚÖ´ÐÐËùÓÐÀàÐ͵ÄÎı¾ËÑË÷ºÍÎı¾Ìæ»»²Ù×÷¡£
Óï·¨
/pattern/modifiers;
ʵÀý
var patt = /w3school/i;
Àý×Ó½âÊÍ£º
/w3school/i ÊÇÒ»¸öÕýÔò±í´ïʽ¡£
w3school ÊÇģʽ£¨pattern£©£¨ÔÚËÑË÷ÖÐʹÓã©¡£
i ÊÇÐÞÊηû£¨°ÑËÑË÷ÐÞ¸ÄΪ´óСд²»Ãô¸Ð£©¡£
ʹÓÃ×Ö·û´®·½·¨
ÔÚ JavaScript ÖУ¬ÕýÔò±í´ïʽ³£ÓÃÓÚÁ½¸ö×Ö·û´®·½·¨£ºsearch() ºÍ replace()¡£
search() ·½·¨Ê¹Óñí´ïʽÀ´ËÑË÷Æ¥Å䣬Ȼºó·µ»ØÆ¥ÅäµÄλÖá£
replace() ·½·¨·µ»ØÄ£Ê½±»Ìæ»»´¦Ð޸ĺóµÄ×Ö·û´®¡£
ʹÓÃ×Ö·û´®·½·¨ search() À´´¦Àí×Ö·û´®
search() ·½·¨Ò²½ÓÊÜ×Ö·û´®×÷ΪËÑË÷²ÎÊý¡£×Ö·û´®²ÎÊý½«±»×ª»»ÎªÕýÔò±í´ïʽ£º
ʵÀý
ʹÓÃ×Ö·û´®À´Ö´ÐÐ¶Ô "W3school" µÄËÑË÷£º
var str = "Visit W3School!";
var n = str.search("W3School");
ÔÚ×Ö·û´®·½·¨ search() ÖÐʹÓÃÕýÔò±í´ïʽ
ʵÀý
ʹÓÃÕýÔò±í´ïʽִÐÐËÑË÷×Ö·û´®ÖÐ "w3school" µÄ´óСд²»Ãô¸ÐµÄËÑË÷£º
var str = "Visit W3School"; var n = str.search(/w3school/i);
n ÖеĽá¹û½«ÊÇ£º
6
ʹÓÃ×Ö·û´®·½·¨ replace() ´¦Àí×Ö·û´®
replace() Ò²½ÓÊÜ×Ö·û´®×÷ΪËÑË÷²ÎÊý£º
var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "W3School");
ÔÚ×Ö·û´®·½·¨ replace() ÖÐʹÓÃÕýÔò±í´ïʽ
ʵÀý
ʹÓôóСд²»Ã÷µÄÕýÔò±í´ïʽÒÔ W3school À´Ìæ»»×Ö·û´®ÖÐµÄ Microsoft£º
var str = "Visit Microsoft!"; var res = str.replace(/microsoft/i, "W3School");
res µÄ½á¹û½«ÊÇ£º
Visit W3School!
Äú×¢Òâµ½ÁËÂð£¿
ÕýÔò±í´ïʽ²ÎÊý£¨¶ø²»ÊÇ×Ö·û´®²ÎÊý£©¿ÉÒÔÔÚÉÏÃæµÄ·½·¨ÖÐʹÓá£
ÕýÔò±í´ïʽ¿ÉÒÔʹÄúµÄËÑË÷¸üÇ¿´ó£¨ÀýÈ磬²»Çø·Ö´óСд£©¡£
ÕýÔò±í´ïʽÐÞÊηû
ÐÞÊηû¿ÉÓÃÓÚ´óСд²»Ãô¸ÐµÄ¸üÈ«¾ÖµÄËÑËØ£º
| ÐÞÊηû | ÃèÊö | |
|---|---|---|
| i | Ö´ÐжԴóСд²»Ãô¸ÐµÄÆ¥Åä¡£ | ÊÔÒ»ÊÔ |
| g | Ö´ÐÐÈ«¾ÖÆ¥Å䣨²éÕÒËùÓÐÆ¥Åä¶ø·ÇÔÚÕÒµ½µÚÒ»¸öÆ¥ÅäºóÍ£Ö¹£©¡£ | ÊÔÒ»ÊÔ |
| m | Ö´ÐжàÐÐÆ¥Åä¡£ | ÊÔÒ»ÊÔ |
ÕýÔò±í´ïʽģʽ
À¨ºÅÓÃÓÚ²éÕÒÒ»¶¨·¶Î§µÄ×Ö·û´®£º
| ±í´ïʽ | ÃèÊö | |
|---|---|---|
| [abc] | ²éÕÒ·½À¨ºÅÖ®¼äµÄÈκÎ×Ö·û¡£ | ÊÔÒ»ÊÔ |
| [0-9] | ²éÕÒÈÎºÎ´Ó 0 ÖÁ 9 µÄÊý×Ö¡£ | ÊÔÒ»ÊÔ |
| (x|y) | ²éÕÒÓÉ | ·Ö¸ôµÄÈκÎÑ¡Ïî¡£ | ÊÔÒ»ÊÔ |
Ôª×Ö·û£¨Metacharacter£©ÊÇÓµÓÐÌØÊ⺬ÒåµÄ×Ö·û£º
| Ôª×Ö·û | ÃèÊö | |
|---|---|---|
| \d | ²éÕÒÊý×Ö¡£ | ÊÔÒ»ÊÔ |
| \s | ²éÕÒ¿Õ°××Ö·û¡£ | ÊÔÒ»ÊÔ |
| \b | Æ¥Åäµ¥´Ê±ß½ç¡£ | ÊÔÒ»ÊÔ |
| \uxxxx | ²éÕÒÒÔÊ®Áù½øÖÆÊý xxxx ¹æ¶¨µÄ Unicode ×Ö·û¡£ | ÊÔÒ»ÊÔ |
Quantifiers ¶¨ÒåÁ¿´Ê£º
| Á¿´Ê | ÃèÊö | |
|---|---|---|
| n+ | Æ¥ÅäÈκΰüº¬ÖÁÉÙÒ»¸ö n µÄ×Ö·û´®¡£ | ÊÔÒ»ÊÔ |
| n* | Æ¥ÅäÈκΰüº¬Áã¸ö»ò¶à¸ö n µÄ×Ö·û´®¡£ | ÊÔÒ»ÊÔ |
| n? | Æ¥ÅäÈκΰüº¬Áã¸ö»òÒ»¸ö n µÄ×Ö·û´®¡£ | ÊÔÒ»ÊÔ |
ʹÓà RegExp ¶ÔÏó
ÔÚ JavaScript ÖУ¬RegExp ¶ÔÏóÊÇ´øÓÐÔ¤¶¨ÒåÊôÐԺͷ½·¨µÄÕýÔò±í´ïʽ¶ÔÏó¡£
ʹÓà test()
test() ÊÇÒ»¸öÕýÔò±í´ïʽ·½·¨¡£
Ëüͨ¹ýģʽÀ´ËÑË÷×Ö·û´®£¬È»ºó¸ù¾Ý½á¹û·µ»Ø true »ò false¡£
ÏÂÃæµÄÀý×ÓËÑË÷×Ö·û´®ÖеÄ×Ö·û "e"£º
ʵÀý
var patt = /e/;
patt.test("The best things in life are free!");
ÓÉÓÚ×Ö·û´®ÖÐÓÐÒ»¸ö "e"£¬ÒÔÉÏ´úÂëµÄÊä³ö½«ÊÇ£º
true
Äú²»±ØÊ×ÏȰÑÕýÔò±í´ïʽ·ÅÈë±äÁ¿ÖС£ÉÏÃæµÄÁ½ÐпÉËõ¶ÌΪһÐУº
/e/.test("The best things in life are free!");
ʹÓà exec()
exec() ·½·¨ÊÇÒ»¸öÕýÔò±í´ïʽ·½·¨¡£
Ëüͨ¹ýÖ¸¶¨µÄģʽ£¨pattern£©ËÑË÷×Ö·û´®£¬²¢·µ»ØÒÑÕÒµ½µÄÎı¾¡£
Èç¹ûδÕÒµ½Æ¥Å䣬Ôò·µ»Ø null¡£
ÏÂÃæµÄÀý×ÓËÑË÷×Ö·û´®ÖеÄ×Ö·û "e"£º
ʵÀý
/e/.exec("The best things in life are free!");
ÓÉÓÚ×Ö·û´®ÖÐÓÐÒ»¸ö "e"£¬ÒÔÉÏ´úÂëµÄÊä³ö½«ÊÇ£º
e
ÍêÕûµÄ RegExp ²Î¿¼ÊÖ²á
ÈçÐèÍêÕûµÄ²Î¿¼ÊֲᣬÇë·ÃÎÊÎÒÃÇÍêÕûµÄ JavaScript RegExp ²Î¿¼Êֲᡣ
¸Ã²Î¿¼ÊÖ²á°üº¬ÁËËùÓÐ RegExp ÊôÐԺͷ½·¨µÄÃèÊöºÍʵÀý¡£