¡¾·±ÌåÖÐÎÄ¡¿
¡¾ÉèΪÊ×Ò³¡¿
¡¾¼ÓÈëÊղء¿
µ±Ç°Î»Öãº.Net¼¼ÊõÊ×Ò³ >> Asp.Net¿ª·¢ >> ÕýÔò±í´ïʽregular expressionÏêÊö

ÕýÔò±í´ïʽregular expressionÏêÊö

2007-08-15 08:00:00  ×÷Õߣº  À´Ô´£º»¥ÁªÍø  ä¯ÀÀ´ÎÊý£º0  ÎÄ×Ö´óС£º¡¾´ó¡¿¡¾ÖС¿¡¾Ð¡¡¿
¼ò½é£ºÕýÔò±í´ïʽÊÇregular expression£¬¿´À´Ó¢ÎıÈÖÐÎÄÒªºÃÀí½â¶àÁË£¬¾ÍÊǼì²é±í´ïʽ·û ²»·ûºÏ¹æ¶¨£¡£¡ÕýÔò±í´ïʽÓÐÒ»¸ö¹¦ÄÜÊ®·ÖÇ¿´ó¶øÓÖÊ®·Ö¸´ÔӵĶÔÏóRegExp£¬ÔÚjavascript1.2 °æ±¾ÒÔ ÉÏÌṩ¡£ ÏÂÃæÎÒÃÇ¿´¿´ÓйØ...

ÕýÔò±í´ïʽÊÇregular expression£¬¿´À´Ó¢ÎıÈÖÐÎÄÒªºÃÀí½â¶àÁË£¬¾ÍÊǼì²é±í´ïʽ·û

²»·ûºÏ¹æ¶¨£¡£¡ÕýÔò±í´ïʽÓÐÒ»¸ö¹¦ÄÜÊ®·ÖÇ¿´ó¶øÓÖÊ®·Ö¸´ÔӵĶÔÏóRegExp£¬ÔÚjavascript1.2 °æ±¾ÒÔ

ÉÏÌṩ¡£

ÏÂÃæÎÒÃÇ¿´¿´ÓйØÕýÔò±í´ïʽµÄ½éÉÜ£º

ÕýÔò±í´ïʽ¶ÔÏóÓÃÀ´¹æ·¶Ò»¸ö¹æ·¶µÄ±í´ïʽ(Ò²¾ÍÊDZí´ïʽ·û²»·ûºÏÌØ¶¨µÄÒªÇ󣬱ÈÈçÊDz»ÊÇEmail

µØÖ·¸ñʽµÈ)£¬Ëü¾ßÓÐÓÃÀ´¼ì²é¸ø³öµÄ×Ö·û´®ÊÇ·ñ·ûºÏ¹æÔòµÄÊôÐԺͷ½·¨¡£

³ý´ËÖ®Í⣬ÄãÓÃRegExp¹¹ÔìÆ÷½¨Á¢µÄ¸ö±ðÕýÔò±í´ïʽ¶ÔÏóµÄÊôÐÔ£¬¾ÍÒѾ­Ô¤Ïȶ¨ÒåºÃÁËÕýÔò±í´ïʽ

¶ÔÏóµÄ¾²Ì¬ÊôÐÔ£¬Äã¿ÉÒÔËæÊ±Ê¹ÓÃËüÃÇ¡£

ºËÐĶÔÏó£º

ÔÚjavascript 1.2, NES 3.0ÒÔÉϰ汾Ìṩ¡£

ÔÚjavascript 1.3ÒÔºó°æ±¾Ôö¼ÓÁËtoSource·½·¨¡£

½¨Á¢·½·¨£º

ÎÄ×Ö¸ñʽ»òRegExp¹¹ÔìÆ÷º¯Êý¡£

ÎÄ×Ö½¨Á¢¸ñʽʹÓÃÒÔϸñʽ£º

/pattern/flags¼´/ģʽ/±ê¼Ç

¹¹ÔìÆ÷º¯Êý·½·¨Ê¹Ó÷½·¨ÈçÏ£º

new RegExp("pattern"[, "flags"])¼´new RegExp("ģʽ"[,"±ê¼Ç"])

²ÎÊý£º

pattern(ģʽ)

±íʾÕýÔò±í´ïʽµÄÎı¾

flags(񈬀)

Èç¹ûÖ¸¶¨´ËÏflags¿ÉÒÔÊÇÏÂÃæÖµÖ®Ò»£º

g: global match(È«¶¨Æ¥Åä)

i: ignore case(ºöÂÔ´óСд)

gi: both global match and ignore case(Æ¥ÅäËùÓпÉÄܵÄÖµ£¬Ò²ºöÂÔ´óСд)

×¢Ò⣺Îı¾¸ñʽÖеIJÎÊý²»ÒªÊ¹ÓÃÒýºÅ±ê¼Ç£¬¶ø¹¹ÔìÆ÷º¯ÊýµÄ²ÎÊýÔòҪʹÓÃÒýºÅ±ê¼Ç¡£ËùÒÔÏÂÃæµÄ

±í´ïʽ½¨Á¢Í¬ÑùµÄÕýÔò±í´ïʽ£º

/ab+c/i

¡¡¡¡new RegExp("ab+c", "i")

ÃèÊö£º

µ±Ê¹Óù¹Ô캯ÊýµÄʱºò£¬±ØÐëʹÓÃÕý³£µÄ×Ö·û´®±Ü¿ª¹æÔò(ÔÚ×Ö·û´®ÖмÓÈëǰµ¼×Ö·û\ )ÊDZØÐëµÄ¡£

ÀýÈ磬ÏÂÃæµÄÁ½ÌõÓï¾äÊǵȼ۵ģº

re = new RegExp("\\w+")

re = /\w+/

ÏÂÃæµÄÌṩÁËÔÚÕýÔò±í´ïʽÖÐÄܹ»Ê¹ÓõÄÍêÕû¶ÔÌØÊâ×Ö·ûµÄÒ»¸öÍêÕûµÄÁбíºÍÃèÊö¡£

±í1.3£ºÕýÔò±í´ïʽÖеÄÌØÊâ×Ö·û£º

×Ö·û\

ÒâÒ壺¶ÔÓÚ×Ö·û£¬Í¨³£±íʾ°´×ÖÃæÒâÒ壬ָ³ö½Ó×ŵÄ×Ö·ûÎªÌØÊâ×Ö·û£¬\²»×÷½âÊÍ¡£

ÀýÈ磺/b/Æ¥Åä×Ö·û'b',ͨ¹ýÔÚb Ç°Ãæ¼ÓÒ»¸ö·´Ð±¸Ü\£¬Ò²¾ÍÊÇ/\b/£¬Ôò¸Ã×Ö·û±ä³ÉÌØÊâ×Ö·û£¬±íʾ

Æ¥ÅäÒ»¸öµ¥´ÊµÄ·Ö½çÏß¡£

»òÕߣº

¶ÔÓÚ¼¸¸ö×Ö·û£¬Í¨³£ËµÃ÷ÊÇÌØÊâµÄ£¬Ö¸³ö½ô½Ó×ŵÄ×Ö·û²»ÊÇÌØÊâµÄ£¬¶øÓ¦¸Ã°´×ÖÃæ½âÊÍ¡£

ÀýÈ磺*ÊÇÒ»¸öÌØÊâ×Ö·û£¬Æ¥ÅäÈÎÒâ¸ö×Ö·û(°üÀ¨0¸ö×Ö·û)£»ÀýÈ磺/a*/ÒâζƥÅä0¸ö»ò¶à¸öa¡£

ΪÁËÆ¥Åä×ÖÃæÉϵÄ*£¬ÔÚaÇ°Ãæ¼ÓÒ»¸ö·´Ð±¸Ü£»ÀýÈ磺/a\*/Æ¥Åä'a*'¡£

×Ö·û^

ÒâÒ壺±íʾƥÅäµÄ×Ö·û±ØÐëÔÚ×îǰ±ß¡£

ÀýÈ磺/^A/²»Æ¥Åä"an A,"ÖеÄ'A'£¬µ«Æ¥Åä"An A."ÖÐ×îÇ°ÃæµÄ'A'¡£

×Ö·û$

ÒâÒ壺Óë^ÀàËÆ£¬Æ¥Åä×îÄ©µÄ×Ö·û¡£

ÀýÈ磺/t$/²»Æ¥Åä"eater"ÖеÄ't'£¬µ«Æ¥Åä"eat"ÖеÄ't'¡£

×Ö·û*

ÒâÒ壺ƥÅä*Ç°ÃæµÄ×Ö·û0´Î»òn´Î¡£

ÀýÈç:/bo*/Æ¥Åä"A ghost booooed"ÖеÄ'boooo'»ò"A bird warbled"ÖеÄ'b'£¬µ«²»Æ¥Åä"A goat g

runted"ÖеÄÈκÎ×Ö·û¡£

×Ö·û+

ÒâÒ壺ƥÅä+ºÅÇ°ÃæµÄ×Ö·û1´Î»òn´Î¡£µÈ¼ÛÓÚ{1,}¡£

ÀýÈ磺/a+/Æ¥Åä"candy"ÖеÄ'a'ºÍ"caaaaaaandy."ÖеÄËùÓÐ'a'¡£

×Ö·û?

ÒâÒ壺ƥÅä?Ç°ÃæµÄ×Ö·û0´Î»ò1´Î¡£

ÀýÈ磺/e?le?/Æ¥Åä"angel"ÖеÄ'el'ºÍ"angle."ÖеÄ'le'¡£

×Ö·û.

ÒâÒ壺(СÊýµã)Æ¥Åä³ý»»ÐзûÍâµÄËùÓе¥¸öµÄ×Ö·û¡£

ÀýÈ磺/.n/Æ¥Åä"nay, an apple is on the tree"ÖеÄ'an'ºÍ'on'£¬µ«²»Æ¥Åä'nay'¡£

×Ö·û(x)

ÒâÒ壺ƥÅä'x'²¢¼Ç¼ƥÅäµÄÖµ¡£

ÀýÈ磺/(foo)/Æ¥ÅäºÍ¼Ç¼"foo bar."ÖеÄ'foo'¡£Æ¥Åä×Ó´®Äܱ»½á¹ûÊý×éÖеÄËØ[1], ..., [n] ·µ

»Ø£¬»ò±»RegExp¶ÔÏóµÄÊôÐÔ$1, ..., $9·µ»Ø¡£

×Ö·ûx|y

ÒâÒ壺ƥÅä'x'»òÕß'y'¡£

ÀýÈ磺/green|red/Æ¥Åä"green apple"ÖеÄ'green'ºÍ"red apple."ÖеÄ'red'¡£

×Ö·û{n}

ÒâÒ壺ÕâÀïµÄnÊÇÒ»¸öÕýÕûÊý¡£Æ¥ÅäÇ°ÃæµÄn¸ö×Ö·û¡£

ÀýÈ磺/a{2}/²»Æ¥Åä"candy,"ÖеÄ'a'£¬µ«Æ¥Åä"caandy," ÖеÄËùÓÐ'a'ºÍ"caaandy."ÖÐÇ°ÃæµÄÁ½¸ö

'a'¡£

×Ö·û{n,}

ÒâÒ壺ÕâÀïµÄnÊÇÒ»¸öÕýÕûÊý¡£Æ¥ÅäÖÁÉÙn¸öÇ°ÃæµÄ×Ö·û¡£

ÀýÈ磺/a{2,}²»Æ¥Åä"candy"ÖеÄ'a'£¬µ«Æ¥Åä"caandy"ÖеÄËùÓÐ'a'ºÍ"caaaaaaandy."ÖеÄËùÓÐ'a'

×Ö·û{n,m}

ÒâÒ壺ÕâÀïµÄnºÍm¶¼ÊÇÕýÕûÊý¡£Æ¥ÅäÖÁÉÙn¸ö×î¶àm¸öÇ°ÃæµÄ×Ö·û¡£

ÀýÈ磺/a{1,3}/²»Æ¥Åä"cndy"ÖеÄÈκÎ×Ö·û£¬µ«Æ¥Åä "candy,"ÖеÄ'a'£¬"caandy," ÖеÄÇ°ÃæÁ½¸ö

'a'ºÍ"caaaaaaandy"ÖÐÇ°ÃæµÄÈý¸ö'a'£¬×¢Ò⣺¼´Ê¹"caaaaaaandy" ÖÐÓкܶà¸ö'a'£¬µ«Ö»Æ¥ÅäÇ°ÃæµÄÈý

¸ö'a'¼´"aaa"¡£

×Ö·û[xyz]

ÒâÒ壺һ×Ö·ûÁÐ±í£¬Æ¥ÅäÁгöÖеÄÈÎÒ»×Ö·û¡£Äã¿ÉÒÔͨ¹ýÁ¬×Ö·û-Ö¸³öÒ»¸ö×Ö·û·¶Î§¡£

ÀýÈ磺[abcd]¸ú[a-c]Ò»Ñù¡£ËüÃÇÆ¥Åä"brisket"ÖеÄ'b'ºÍ"ache"ÖеÄ'c'¡£

×Ö·û[^xyz]

ÒâÒ壺һ×Ö·û²¹¼¯£¬Ò²¾ÍÊÇ˵£¬ËüÆ¥Åä³ýÁËÁгöµÄ×Ö·ûÍâµÄËùÓж«Î÷¡£ Äã¿ÉÒÔʹÓÃÁ¬×Ö·û-Ö¸³öÒ»

×Ö·û·¶Î§¡£

ÀýÈ磺[^abc]ºÍ[^a-c]µÈ¼Û£¬ËüÃÇ×îÔçÆ¥Åä"brisket"ÖеÄ'r'ºÍ"chop."ÖеÄ'h'¡£

×Ö·û[\b]

ÒâÒ壺ƥÅäÒ»¸ö¿Õ¸ñ(²»ÒªÓë\b»ìÏý)

×Ö·û\b

ÒâÒ壺ƥÅäÒ»¸öµ¥´ÊµÄ·Ö½çÏߣ¬±ÈÈçÒ»¸ö¿Õ¸ñ(²»ÒªÓë[\b]»ìÏý)

ÀýÈ磺/\bn\w/Æ¥Åä"noonday"ÖеÄ'no'£¬/\wy\b/Æ¥Åä"possibly yesterday."ÖеÄ'ly'¡£

×Ö·û\B

ÒâÒ壺ƥÅäÒ»¸öµ¥´ÊµÄ·Ç·Ö½çÏß

ÀýÈ磺/\w\Bn/Æ¥Åä"noonday"ÖеÄ'on'£¬/y\B\w/Æ¥Åä"possibly yesterday."ÖеÄ'ye'¡£

×Ö·û\cX

ÒâÒ壺ÕâÀïµÄXÊÇÒ»¸ö¿ØÖÆ×Ö·û¡£Æ¥ÅäÒ»¸ö×Ö·û´®µÄ¿ØÖÆ×Ö·û¡£

ÀýÈ磺/\cM/Æ¥ÅäÒ»¸ö×Ö·û´®ÖеÄcontrol-M¡£

×Ö·û\d

ÒâÒ壺ƥÅäÒ»¸öÊý×Ö£¬µÈ¼ÛÓÚ[0-9]¡£

ÀýÈ磺/\d/»ò/[0-9]/Æ¥Åä"B2 is the suite number."ÖеÄ'2'¡£

×Ö·û\D

ÒâÒ壺ƥÅäÈκεķÇÊý×Ö£¬µÈ¼ÛÓÚ[^0-9]¡£

ÀýÈ磺/\D/»ò/[^0-9]/Æ¥Åä"B2 is the suite number."ÖеÄ'B'¡£

×Ö·û\f

ÒâÒ壺ƥÅäÒ»¸ö±íµ¥·û

×Ö·û\n

ÒâÒ壺ƥÅäÒ»¸ö»»Ðзû

×Ö·û\r

ÒâÒ壺ƥÅäÒ»¸ö»Ø³µ·û

×Ö·û\s

ÒâÒ壺ƥÅäÒ»¸öµ¥¸öwhite¿Õ¸ñ·û£¬°üÀ¨¿Õ¸ñ£¬tab£¬form feed£¬»»Ðзû£¬µÈ¼ÛÓÚ[ \f\n\r\t\v]¡£

ÀýÈ磺/\s\w*/Æ¥Åä"foo bar."ÖеÄ' bar'¡£

×Ö·û\S

ÒâÒ壺ƥÅä³ýwhite¿Õ¸ñ·ûÒÔÍâµÄÒ»¸öµ¥¸öµÄ×Ö·û£¬µÈ¼ÛÓÚ[^ \f\n\r\t\v]¡£

ÀýÈ磺/\S/\w*Æ¥Åä"foo bar."ÖеÄ'foo'¡£

×Ö·û\t

ÒâÒ壺ƥÅäÒ»¸öÖÆ±í·û

×Ö·û\v

ÒâÒ壺ƥÅäÒ»¸ö¶¥Í·ÖƱí·û

×Ö·û\w

ÒâÒ壺ƥÅäËùÓеÄÊý×ÖºÍ×ÖĸÒÔ¼°Ï»®Ïߣ¬µÈ¼ÛÓÚ[A-Za-z0-9_]¡£

ÀýÈ磺/\w/Æ¥Åä"apple,"ÖеÄ'a'£¬"$5.28,"ÖеÄ'5'ºÍ"3D."ÖеÄ'3'¡£

×Ö·û\W

ÒâÒ壺ƥÅä³ýÊý×Ö¡¢×ÖĸÍâ¼°Ï»®ÏßÍâµÄÆäËü×Ö·û£¬µÈ¼ÛÓÚ[^A-Za-z0-9_]¡£

ÀýÈ磺/\W/»òÕß/[^$A-Za-z0-9_]/Æ¥Åä"50%."ÖеÄ'%'¡£

×Ö·û\n

ÒâÒ壺ÕâÀïµÄnÊÇÒ»¸öÕýÕûÊý¡£Æ¥ÅäÒ»¸öÕýÔò±í´ïʽµÄ×îºóÒ»¸ö×Ó´®µÄnµÄÖµ(¼ÆÊý×óÔ²À¨ºÅ)¡£

ÀýÈ磺/apple(,)\sorange\1/Æ¥Åä"apple, orange, cherry, peach."ÖеÄ'apple, orange'£¬ÏÂÃæ

ÓÐÒ»¸ö¸ü¼ÓÍêÕûµÄÀý×Ó¡£

×¢Ò⣺Èç¹û×óÔ²À¨ºÅÖеÄÊý×Ö±È\nÖ¸¶¨µÄÊý×Ö»¹Ð¡£¬Ôò\nÈ¡ÏÂÒ»Ðеİ˽øÖÆescape×÷ΪÃèÊö¡£

×Ö·û\ooctalºÍ\xhex

ÒâÒ壺ÕâÀïµÄ\ooctalÊÇÒ»¸ö°Ë½øÖƵÄescapeÖµ£¬¶ø\xhexÊÇÒ»¸öÊ®Áù½øÖƵÄescapeÖµ£¬ÔÊÐíÔÚÒ»¸ö

ÕýÔò±í´ïʽÖÐǶÈëASCIIÂë¡£

µ±±í´ïʽ±»¼ì²éµÄʱºò£¬ÎÄ×Ö·ûºÅÌṩÁ˱༭ÕýÔò±í´ïʽµÄ·½·¨¡£ÀûÓÃÎÄ×Ö·ûºÅ¿ÉÒÔʹµ½ÕýÔò±í´ï

ʽ±£³ÖΪ³£Êý¡£ÀýÈ磬Èç¹ûÄãÔÚÒ»¸öÑ­»·ÖÐʹÓÃÎÄ×Ö·ûºÅÀ´¹¹ÔìÒ»¸öÕýÔò±í´ïʽ£¬ÕýÔò±í´ïʽ²»Ðè½øÐÐ

·´¸´±àÒë¡£

ÕýÔò±í´ïʽ¶ÔÏó¹¹ÔìÆ÷£¬ÀýÈ磬new RegExp("ab+c")£¬ÌṩÕýÔò±í´ïʽµÄÔËÐÐʱ±àÒë¡£µ±ÄãÖªµÀÕý

Ôò±í´ïʽµÄģʽ»á±ä»¯µÄʱºò£¬Ó¦¸ÃʹÓù¹Ô캯Êý£¬»òÕßÄã²»ÖªµÀÕýÔò±í´ïʽµÄģʽ£¬¶øËüÃÇÊÇ´ÓÁíÍâ

µÄÔ´»ñµÃµÄʱºò£¬±ÈÈçÓÉÓû§ÊäÈëʱ¡£Ò»µ©Ä㶨ÒåºÃÁËÕýÔò±í´ïʽ£¬¸ÃÕýÔò±í´ïʽ¿ÉÔÚÈκεط½Ê¹Óã¬

²¢ÇÒ¿ÉÒԸı䣬Äã¿ÉÒÔʹÓñàÒë·½·¨À´±àÒëÒ»¸öеÄÕýÔò±í´ïʽÒÔ±ãÖØÐÂʹÓá£

Ò»¸ö·ÖÀëÔ¤Ïȶ¨ÒåµÄRegExp¶ÔÏó¿ÉÒÔÔÚÿ¸ö´°¿ÚÖÐʹÓã»Ò²¾ÍÊÇ˵£¬Ã¿¸ö·ÖÀëµÄjavascriptÏß³ÌÔË

ÐÐÒÔ»ñµÃ×Ô¼ºµÄRegExp¶ÔÏó¡£ÒòΪÿ¸ö½Å±¾ÔÚÒ»¸öÏß³ÌÖÐÊDz»¿ÉÖжϵģ¬Õâ¾ÍÈ·±£Á˲»Í¬µÄ½Å±¾²»»á¸²

¸ÇRegExp¶ÔÏóµÄÖµ¡£

Ô¤¶¨ÒåµÄRegExp¶ÔÏó°üº¬µÄ¾²Ì¬ÊôÐÔ£ºinput, multiline, lastMatch,lastParen, leftContext,

rightContext, ÒÔ¼°´Ó$1µ½$9¡£inputºÍmultilineÊôÐÔÄܱ»Ô¤Éè¡£ÆäËü¾²Ì¬ÊôÐÔµÄÖµÊÇÔÚÖ´Ðиö±ðÕýÔò

±í´ïʽ¶ÔÏóµÄexecºÍtest·½·¨ºó£¬ÇÒÔÚÖ´ÐÐ×Ö·û´®µÄmatchºÍreplace·½·¨ºóÉèÖõġ£

ÊôÐÔ

×¢ÒâRegExp¶ÔÏóµÄ¼¸¸öÊôÐÔ¼ÈÓг¤Ãû×ÖÓÖÓжÌÃû×Ö(ÏóPerl)¡£ÕâЩÃû×Ö¶¼ÊÇÖ¸ÏòÏàͬµÄÖµ¡£PerlÊÇ

Ò»ÖÖ±à³ÌÓïÑÔ£¬¶øjavascriptÄ£·ÂÁËËüµÄÕýÔò±í´ïʽ¡£

ÊôÐÔ$1, ..., $9

È¡µÃÆ¥ÅäµÄ×Ó´®£¬Èç¹ûÓеϰ

ÊôÐÔ$_

²Î¿¼input

ÊôÐÔ$*

²Î¿¼multiline

ÊôÐÔ$&

²Î¿¼lastMatch

ÊôÐÔ$+

²Î¿¼lastParen

ÊôÐÔ$`

²Î¿¼leftContext

ÊôÐÔ$'

²Î¿¼rightContext

ÊôÐÔconstructor

Ö¸¶¨ÓÃÀ´½¨Á¢¶ÔÏóÔ­Ðͺ¯

ÊôÐÔglobal

¾ö¶¨ÊÇ·ñ²âÊÔÕýÔò±í´ïʽÊÇ·ñ²»ÄÜÆ¥ÅäËùÓеÄ×Ö·û´®£¬»òÕßÖ»ÊÇÓë×îÏȵijåÍ»¡£

ÊôÐÔignoreCase

¾ö¶¨ÊÔͼƥÅä×Ö·û´®µÄʱºòÊÇ·ñºöÂÔ´óСд

ÊôÐÔinput

µ±ÕýÔò±í´ïʽ±»Æ¥ÅäµÄʱºò£¬ÎªÏà·´µÄ×Ö·û´®¡£

ÊôÐÔlastIndex

¾ö¶¨ÏÂÒ»´ÎÆ¥Åä´ÓÄÇÀ↑ʼ

ÊôÐÔlastMatch

×îºóÒ»¸öÆ¥ÅäµÄ×Ö·û

ÊôÐÔlastParen

×Ó´®Æ¥ÅäµÄʱºò£¬×îºóÒ»¸öparenthesized£¬Èç¹ûÓеϰ¡£

ÊôÐÔleftContext

×î½üÒ»´ÎÆ¥ÅäǰµÄ×Ó´®¡£

ÊôÐÔmultiline

ÊÇ·ñÔÚ´®µÄ¶àÐÐÖÐËÑË÷¡£

ÊôÐÔprototype

ÔÊÐí¸½¼ÓÊôÐÔµ½ËùÓеĶÔÏó

ÊôÐÔrightContext

×î½üÒ»´ÎÆ¥ÅäºóµÄµÄ×Ó´®¡£

ÊôÐÔsource

ģʽÎı¾

·½·¨

compile·½·¨

±àÒëÒ»¸öÕýÔò±í´ïʽ¶ÔÏó

exec·½·¨

ÔËÐÐÕýÔò±í´ïʽƥÅä

test·½·¨

²âÊÔÕýÔò´ïʽƥÅä

toSource·½·¨

·µ»ØÒ»¸ö¶ÔÏóµÄÎÄ×ÖÃèÊöÖ¸¶¨µÄ¶ÔÏó£»Äã¿ÉÒÔʹÓÃÕâ¸öÖµÀ´½¨Á¢Ò»¸öеĶÔÏó¡£²»¿¼ÂÇObject.toS

ource·½·¨¡£

toString·½·¨

·µ»ØÒ»¸ö×Ö·û´®ÃèÊöÖ¸¶¨µÄ¶ÔÏ󣬲»¿¼ÂÇObject.toString¶ÔÏó¡£

valueOf·½·¨

·µ»ØÖ¸¶¨¶Ô½ÇµÄԭʼֵ¡£²»¿¼ÂÇObject.valueOf·½·¨¡£

¡¡ÁíÍ⣬Õâ¸ö¶ÔÏó¼Ì³ÐÁ˶ÔÏóµÄwatchºÍunwatch·½·¨

¡¡¡¡Àý×Ó£º

¡¡¡¡Àý£±¡¢ÏÂÊöʾÀý½Å±¾Ê¹ÓÃreplace·½·¨À´×ª»»´®Öеĵ¥´Ê¡£ÔÚÌæ»»µÄÎı¾ÖУ¬½Å±¾Ê¹ÓÃÈ«¾Ö RegExp

¶ÔÏóµÄ$1ºÍ$2ÊôÐÔµÄÖµ¡£×¢Ò⣬ÔÚ×÷ΪµÚ¶þ¸ö²ÎÊý´«µÝ¸øreplace·½·¨µÄʱºò£¬RegExp¶ÔÏóµÄ$ÊôÐÔµÄÃû

³Æ¡£

ÏÔʾ½á¹û£º"Smith, John".

¡¡¡¡Àý£²¡¢ÏÂÊöʾÀý½Å±¾ÖУ¬RegExp.inputÓÉChangeʼþ´¦Àí¾ä±úÉèÖá£ÔÚgetInfoº¯ÊýÖУ¬exec ·½·¨

ʹÓÃRegExp.inputµÄÖµ×÷ΪËüµÄ²ÎÊý£¬×¢ÒâRegExpÔ¤ÖÃÁË$ÊôÐÔ¡£

¡¡¡¡ÇëÊäÈëÄãµÄÐÕºÍÄêÁ䣬ÊäÈëÍêºó°´»Ø³µ¼ü¡£

¡¡¡¡

¡¡¡¡

$1, ..., $9ÊôÐÔ

ÓÃÔ²À¨ºÅÀ¨×ŵį¥Åä×Ó´®£¬Èç¹ûÓеϰ¡£

ÊÇRegExpµÄÊôÐÔ

¾²Ì¬£¬Ö»¶Á

ÔÚjavascript 1.2, NES 3.0ÒÔÉϰ汾Ìṩ

ÃèÊö£ºÒòΪinputÊǾ²Ì¬ÊôÐÔ£¬²»ÊǸö±ðÕýÔò±í´ïʽ¶ÔÏóµÄÊôÐÔ¡£Äã¿ÉÒÔʹÓÃRegExp.input ·ÃÎʸÃ

ÊôÐÔ¡£

ÄܼÓÉÏÔ²À¨ºÅµÄ×Ó´®µÄÊýÁ¿²»ÊÜÏÞÖÆ£¬µ«ÕýÔò±í´ïʽ¶ÔÏóÖ»Äܱ£Áô×îºó9 Ìõ¡£Èç¹ûÄãÒª·ÃÎÊËùÓеÄ

Ô²À¨ºÅÄ򵀮¥Åä×Ö´®£¬Äã¿ÉÒÔʹÓ÷µ»ØµÄÊý×é¡£

ÕâЩÊôÐÔÄÜÓÃÔÚRegExp.replace·½·¨Ìæ»»ºóµÄ×Ö·û´®(Êä³ö½á¹û)¡£µ±Ê¹ÓÃÕâÖÖ·½Ê½µÄʱºò£¬²»ÓÃÔ¤

ÏÈ¿¼ÂÇRegExp¶ÔÏó¡£ÏÂÃæ¸ø³öÀý×Ó¡£µ±ÕýÔò±í´ïʽÖÐûÓаüº¬Ô²À¨ºÅµÄʱºò£¬¸Ã½Å±¾½âÊͳÉ$nµÄ×ÖÃæÒâ

Òå¡£(ÕâÀïµÄnÊÇÒ»¸öÕýÕûÊý)¡£

ÀýÈ磺

ÏÂÀý½Å±¾Ê¹ÓÃreplace ·½·¨À´½»»»´®Öе¥´ÊµÄλÖá£ÔÚÌæ»»ºóµÄÎı¾×Ö´®ÖУ¬½Å±¾Ê¹ÓÃÕýÔò±í´ïʽ

RegExp¶ÔÏóµÄ$1ºÍ$2ÊôÐÔµÄÖµ¡£×¢Ò⣺µ±ËüÃÇÏòreplace·½·¨´«µÝ²ÎÊýµÄʱºò£¬ÕâÀïûÓп¼ÂÇ $ ÊôÐÔµÄ

RegExp¶ÔÏóµÄÃû³Æ¡£

ÏÔʾµÄÊä³ö½á¹ûΪ£ºSmith, John¡£

ÕýÔò±í´ïʽÏêÊö£¨¶þ£©

ÒÔÏÂÕâЩ²»ÊÇÕýÔò±í´ïʽµÄÐÂÔö¶ÔÏóÇë²ÎÔĶÔÓ¦µÄjavascript¶ÔÏóµÄÊôÐÔ $_ÊôÐÔ ²Î¿¼input $*ÊôÐÔ

²Î¿¼multiline $&ÊôÐÔ ²Î¿¼lastMatch $+ÊôÐÔ ²Î¿¼lastParen $`ÊôÐÔ

²Î¿¼leftContext $'ÊôÐÔ ²Î¿¼rightContext compile·½·¨ Ôڽű¾ÔËÐÐÆÚ¼ä±àÒëÕýÔò±í´ïʽ¶ÔÏó

ÊôÓÚRegExpµÄ·½·¨ ÔÚjavascript 1.2, NES 3.0ÒÔÉϰ汾Ìṩ Óï·¨£º

regexp.compile(pattern[, flags]) ÒÔÊý£º regexp ÕýÔò±í´ïʽµÄÃû³Æ£¬¿ÉÒÔÊDZäÁ¿Ãû»òÎÄ×Ö´®¡£

pattern ÕýÔò±í´ïʽµÄ¶¨ÒåÎı¾¡£ flags Èç¹ûÖ¸¶¨µÄ»°£¬¿ÉÒÔÊÇÏÂÃæÆäÖеÄÒ»¸ö£º "g": Æ¥ÅäËùÓпÉÄܵÄ×Ö´®

"i": ºöÂÔ´óСд "gi": Æ¥ÅäËùÓпÉÄܵÄ×Ö´®¼°ºöÂÔ´óСд ÃèÊö£º

ʹÓÃcompile·½·¨À´±àÒëÒ»¸öÕýÔò±í´ïʽ created with the RegExp constructor function¡£ÕâÑù

¾ÍÇ¿ÖÆÕýÔò±í´ïʽֻ±àÒëÒ»´Î£¬¶ø²»ÊÇÿ´ÎÓöµ½ÕýÔò±í´ïʽµÄʱºò¶¼±àÒëÒ»´Î¡£µ±ÄãÈ·ÈÏÕýÔò±í´ïʽÄÜ

±£³Ö²»±äµÄʱºò¿ÉʹÓÃcompile ·½·¨À´±àÒëËü(ÔÚ»ñµÃËüµÄÆ¥Åäģʽºó)£¬ÕâÑù¾Í¿ÉÒÔÔڽű¾ÖÐÖØ¸´¶à´ÎʹÓÃËü¡£

ÄãÒà¿ÉÒÔʹÓÃcompile ·½·¨À´¸Ä±äÔÚÔËÐÐÆÚ¼ä¸Ä±äÕýÔò±í´ïʽ¡£ÀýÈ磬¼ÙÈçÕýÔò±í´ïʽ·¢Éú±ä»¯£¬

Äã¿ÉÒÔʹÓÃcompile·½·¨À´ÖØÐ±àÒë¸Ã¶ÔÏóÀ´Ìá¸ßʹÓÃЧÂÊ¡£

ʹÓø÷½·¨½«¸Ä±äÕýÔò±í´ïʽµÄsource, globalºÍignoreCasesourceÊôÐÔµÄÖµ¡£ constructor

Ö¸³ö½¨Á¢¶ÔÏóÔ­Ð͵Äfunction¡£×¢ÒâÕâ¸öÊôÐÔµÄÖµÓɺ¯Êý±¾ÉíÌṩ£¬¶ø²»ÊÇÒ»¸ö×Ö´®°üº¬RegExpµÄname.PropertyÌṩ¡£

ÔÚjavascript 1.1, NES 2.0ÒÔÉϰ汾Ìṩ ECMA°æ±¾ECMA-262 ÃèÊö£º²Î¿¼Object.constructor.

exec·½·¨ ÔÚÖ¸¶¨µÄ×Ö·û´®ÔËÐÐÆ¥ÅäËÑË÷¡£·µ»ØÒ»¸ö½á¹ûÊý×é¡£ ÊÇRegExpµÄ·½·¨

ÔÚjavascript 1.2, NES 3.0ÒÔÉϰ汾Ìṩ Óï·¨£º regexp.exec([str])regexp([str])

²ÎÊý£º regexp£¬ÕýÔò±í´ïʽµÄÃû³Æ£¬¿ÉÒÔÊÇÒ»¸ö±äÁ¿Ãû»òÎÄ×Ö¶¨Òå´®¡£

str£¬ÒªÆ¥ÅäÕýÔò±í´ïʽµÄ×Ö·û´®£¬Èç¹ûÊ¡ÂÔ£¬½«Ê¹ÓÃRegExp.inputµÄÖµ¡£

ÃèÊö£º¾ÍÈçÔÚÓï·¨ÃèÊöÖеÄÒ»Ñù£¬ÕýÔò±í´ï¹¤µÄexec·½·¨Äܹ»±»Ö±½Óµ÷ÓÃ(ʹÓÃregexp.exec(str))»òÕß¼ä½Óµ÷ÓÃ(ʹÓÃregexp(str))¡£

¼ÙÈçÄãÖ»ÊÇÔËÐÐÒÔÕÒ³öÊÇ·ñÆ¥Å䣬¿ÉÒÔʹÓÃStringËÑË÷·½·¨¡£

¼ÙÈçÆ¥Åä³É¹¦£¬exec·½·¨·µ»ØÒ»¸öÊý×é²¢ÇÒ¸üÐÂÕýÔò±í´ïʽ¶ÔÏóÊôÐÔµÄÖµºÍÔ¤Ïȶ¨ÒåµÄÕýÔò±í´ïʽ¶ÔÏó¡¢RegExp¡£Èç¹ûÆ¥Åäʧ°Ü£¬exec·½·¨·µ»Ønull¡£

Çë¿´ÏÂÀý£º ÏÂÃæÊǸýű¾µÄ·µ»ØÖµ£º¶ÔÏó ÊôÐÔ/Index ÃèÊö Àý×Ó

myArray

myArrayµÄÄÚÈÝ ["dbBd", "bB", "d"]

index

»ùÓÚ0µÄÆ¥Åäindex 1

input

ԭʼ×Ö·û´® cdbBdbsbz

[0]

×îºóÆ¥ÅäµÄ×Ö·û dbBd

[1], ...[n]

ÓÃÔ²À¨ºÅÀ¨×¡µÄÆ¥Åä×Ö·û´®£¬Èç¹ûÓеϰ¡£²»ÏÞÖÆÀ¨ºÅµÄ¸öÊý¡£ [1] = bB

[2] = d

myRe

lastIndex

¿ªÊ¼ÏÂ´ÎÆ¥Åä²Ù×÷µÄindexÖµ 5

ignoreCase

Ö¸³ö"i"ÊÇ·ñʹÓÃÒÔºöÂÔ´óСд true

global

Ö¸³öÊÇ·ñʹÓÃ"g"±ê¼ÇÀ´½øÐÐÆ¥ÅäËùÓпÉÄܵÄ×Ö´® true

source

¶¨ÒåģʽµÄÎı¾×Ö·û´® d(b+)(d)

RegExp

lastMatch$&

×îºóÆ¥ÅäµÄ×Ö·û dbBd

leftContext$\Q

×îÐÂÆ¥ÅäÇ°ÃæµÄ×Ó´® c

rightContext$'

×îÐÂÆ¥ÅäºóÃæµÄ×Ó´® bsbz

$1, ...$9

Ô²À¨ºÅÄ򵀮¥Åä×Ó´®£¬Èç¹ûÓеϰ¡£Ô²À¨ºÅµÄ¸öÊý²»ÊÜÏÞÖÆ£¬µ«RegExpÖ»Äܱ£Áô×îºó9¸ö $1 = bB

$2 = d

lastParen $+

×îºóÒ»¸ö¼ÓÉÏÔ²À¨ºÅµÄÆ¥Åä×Ó´®£¬Èç¹ûÓеϰ d

¼ÙÈçÄãµÄÕýÔò±í´ïʽʹÓÃÁË"g"±ê¼Ç£¬Äã¿ÉÒÔ¶à´ÎʹÓÃexec ·½·¨À´Á¬ÐøÆ¥ÅäÏàͬµÄ´®¡£µ±ÄãÕâÑù×ö

µÄʱºò£¬ÐÂµÄÆ¥Å佫´ÓÓÉÕýÔò±í´ïʽµÄlastIndex ÊôÐÔֵȷ¶¨µÄ×Ó´®ÖпªÊ¼¡£ÀýÈ磬¼Ù¶¨ÄãʹÓÃÏÂÃæµÄ½Å±¾£º

Õâ¸ö½Å±¾ÏÔʾÈçϽá¹û£º Found abb. Next match starts at 3

Found ab. Next match starts at 9 Àý×Ó£º

ÔÚÏÂÃæµÄÀý×ÓÖУ¬Óû§ÊäÈëÒ»¸öÃû×Ö£¬½Å±¾¸ù¾ÝÊäÈëÖ´ÐÐÆ¥Åä²Ù×÷¡£½Ó׿ì²éÊý×é¿´ÊÇ·ñºÍÆäËüÓû§µÄÃû×ÖÆ¥Åä¡£

±¾½Å±¾¼Ù¶¨ÒÑ×¢²áµÄÓû§µÄÐÕÒѾ­´æ½øÁËÊý×éAÖУ¬»òÐí´ÓÒ»¸öÊý¾Ý¿âÖÐÈ¡µÃ¡£

ÔðÈα༭£ºadmin
±¾ÎÄÒýÓõØÖ·£º http://www.3pcode.com/net/2007/08/89536.htm
Ïà¹ØÎÄÕÂ