JavaScript使用正则表达式
上一篇 / 下一篇 2007-11-22 09:55:06 / 个人分类:javascript
在前面已经涉及了一些正则表达式的用法,现在将系统地学习正则表达式的语法和用途。正则表达式主要用于进行字符串的模式匹配,例如判断一个字符串是否符合指定格式等。例如在windows下搜索文件,可以用“*”或者“?”这样的通配符。在正则表达式的语法中,有更多这样的符号用于表示一个字符串的模式,表7.1列出了所有的特殊符号,它们也被称为元字符。51Testing软件测试网.vWTCu9Wf@ _
51Testing软件测试网QBtb&f0j:?@4P
表7.1 正则表达式中的元字符
._{1V)`7~051Testing软件测试网K(xY|1P,M(J:xd,[7N~)Vd a$_!m!a0字 符 !X.Iu6@cz'I%| T9m0 | 51Testing软件测试网(p:|`'V9fCw#E 说 明 ,[{ tU!o0 |
\51Testing软件测试网bj1F"@P | 51Testing软件测试网 @/JH0y'[vK 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(”51Testing软件测试网qyU#T|\u |
^51Testing软件测试网QE"R:WMs5D | LQP3i K0匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与“\n”或“\r”之后的位置匹配 D2pL6~&kq`i2C rz0 |
$ d&U,VN+G)WM0 | 6xCfCP}c0匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$还会与“\n”或“\r”之前的位置匹配 `7Fi0V*e9a/ZX J4`0 |
* (qg!c"}'I#lu0 | "Fo3ShhJ!qsd0零次或多次匹配前面的字符或子表达式。例如,zo* 匹配“z”和“zoo”。* 等效于{0,}51Testing软件测试网g^8]%HL Dd Hv1Q |
+51Testing软件测试网$q,J2nR%R9Op7Qt M q | j(?g9z4|9oQ*py0一次或多次匹配前面的字符或子表达式。例如,“zo+”与“zo”和“zoo”匹配,但与“z”不匹配。+ 等效于 {1,}51Testing软件测试网:AopTJVf4s B |
?51Testing软件测试网4B0i-Ds MNlZ | 51Testing软件测试网 ZoeP/F-J:tB 零次或一次匹配前面的字符或子表达式。例如,“do(es)?”匹配“do”或“does”中的“do”。? 等效于 {0,1}51Testing软件测试网2P2YI%h6}$S\jkl4W |
{n}51Testing软件测试网Hz d#qe:g | (u o'x t*@1[K0n是非负整数。正好匹配 n 次。例如,“o{2}”与“Bob”中的“o”不匹配,但与“food”中的两个“o”匹配 L.N#_m/E0 |
{n,} 5x _xeSg FOT6A0 | 51Testing软件测试网$TvM
H;D JB^ n是非负整数。至少匹配n次。例如,“o{2,}”不匹配“Bob”中的“o”,而匹配“foooood”中的所有o。'o{1,}' 等效于 'o+'。'o{0,}' 等效于 'o*'51Testing软件测试网,H2\!V9YNd8Qnu |
{n,m}51Testing软件测试网X'MR\-s ?x6[ | 51Testing软件测试网3gMIXt m和n是非负整数,其中n<=m。至少匹配n次,至多匹配m次。例如,“o{1,3}”匹配“fooooood”中的头三个o。'o{0,1}' 等效于'o?'。注意:您不能将空格插入逗号和数字之间51Testing软件测试网8P!W~t`N/@ sPs |
?51Testing软件测试网(I9u)]{%o-u%^SYB | 51Testing软件测试网m|;T"?
l
eFuB 当此字符紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”。“非贪心的”模式匹配搜索到的、尽可能短的字符串,而默认的“贪心的”模式匹配搜索到的、尽可能长的字符串。例如,在字符串“oooo”中,“o+?”只匹配单个“o”,而“o+”匹配所有“o” 匹配除“\n”之外的任何单个字符。若要匹配包括“\n”在内的任意字符,请使用诸如“[\s\S]”之类的模式51Testing软件测试网l\ONGhBc,[;h |
续表51Testing软件测试网-z3zx _w#Y [
51Testing软件测试网}Bo^^~Z0g#yc?rE&RE0i0字 符 %BY-b"To2t0 | 51Testing软件测试网1N{t3VGE5w
q 说 明51Testing软件测试网d f6|L2y |
(pattern) 2GU2Z,u,v;|Fl/|um0 | 51Testing软件测试网H1[M3]] 匹配 pattern 并捕获该匹配的子表达式。可以使用 $0...$9 属性从结果“匹配”集合中检索捕获的匹配。若要匹配括号字符 ( ),请使用“\(”或者“\)”51Testing软件测试网&\M{)ov5zgK^ |
(?:pattern) Ia+J9wE+pU-V M*j0 | 2P? c[ {0匹配 pattern 但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。这对于用“或”字符 (|) 组合模式部件的情况很有用。例如,与“industry|industries”相比,“industr(?:y| ies)”是一个更加经济的表达式 h'Qib e9sc0 |
(?=pattern) ^i0?dp}0 | 51Testing软件测试网 I[-N%|H(y(}-a 执行正向预测先行搜索的子表达式,该表达式匹配处于匹配 pattern 的字符串的起始点的字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,“Windows (?=95| 98| NT| 2000)”与“Windows 2000”中的“Windows”匹配,但不与“Windows 3.1”中的“Windows”匹配。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后51Testing软件测试网wmq:} L |
(?!pattern) 9q4@rIS9G3@N0 | 51Testing软件测试网#J H^,y6o 执行反向预测先行搜索的子表达式,该表达式匹配不处于匹配 pattern 的字符串的起始点的搜索字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,“Windows (?!95| 98| NT| 2000)”与“Windows 3.1”中的“Windows”匹配,但不与“Windows 2000”中的“Windows”匹配。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后51Testing软件测试网.o&Z(K L$wXx` |U |
x| y !@$^;u$p$D.Y-Ns0 | 51Testing软件测试网5?F#Y.sT&tzTxN 与 x 或 y 匹配。例如,“z| food”与“z”或“food”匹配。“(z| f)ood”与“zood”或“food”匹配 }4d-ArQM4TM [0 |
[xyz] ^R {`&D#~^0 | B'N2a;i:^kR~u WT0字符集。匹配包含的任一字符。例如,“[abc]”匹配“plain”中的“a” O;Gtw5k`:\0 |
[^xyz] \0HY k7`lAg0 | [s-K-H u~"C0反向字符集。匹配未包含的任何字符。例如,“[^abc]”匹配“plain”中的“p”51Testing软件测试网%c|G$d`/~9l4Ti(w c |
[a-z] k7E.h i'SF0 | x'p h\~j~*u0字符范围。匹配指定范围内的任何字符。例如,“[a-z]”匹配“a”到“z”范围内的任何小写字母 -ok!B gF@_9m?0 |
[^a-z]51Testing软件测试网 ^#W`M"\hOP | 51Testing软件测试网-g"Fb5?9o(}T(u 反向范围字符。匹配不在指定的范围内的任何字符。例如,“[^a-z]”匹配任何不在“a”到“z”范围内的任何字符51Testing软件测试网E1E{dW n7zV H2Tr |
\b51Testing软件测试网g;M.y@Q5idt)s8h | 51Testing软件测试网a%q2C}7l*tF S Er 匹配一个字边界,即字与空格间的位置。例如,“er\b”匹配“never”中的“er”,但不匹配“verb”中的“er”51Testing软件测试网#{q-O!?[R ~o |
\B -Wd|lh U(G5Nc0 | 51Testing软件测试网:|1Z3n6pN^r 非字边界匹配。“er\B”匹配“verb”中的“er”,但不匹配“never”中的“er” j,DB!{3J3KW7g&_,U0 |
\cx "l'K.BA tB0 | 51Testing软件测试网0g.C&E8I|*G{F 匹配由 x 指示的控制字符。例如,\cM 匹配一个 Control-M 或回车符。x 的值必须在 A-Z 或 a-z 之间。如果不是这样,则假定c就是“c”字符本身51Testing软件测试网~[,g"c"S |
\d XP4ds"X#O%a#u qIF0 | 51Testing软件测试网*V
zMGE&ZL L 数字字符匹配。等效于 [0-9]51Testing软件测试网?+{1RY8k+aW+_ |
\D $eR5\9?/hKZ0 | *o9hwz(y.M0非数字字符匹配。等效于 [^0-9]51Testing软件测试网9c5@ j%Mw$R%i?y |
\f51Testing软件测试网TF aOm` | L:E4]f0Pd*M0换页符匹配。等效于 \x0c 和 \cL51Testing软件测试网UeF)dJ2W |
\n51Testing软件测试网MsU!|"g6a | 51Testing软件测试网t&J%L \'Qm 换行符匹配。等效于 \x0a 和 \cJ N"[/yKsX*SC2^ V vO0 |
\r51Testing软件测试网f(@"h1E%A(AL(z | ~ p }$?!m0匹配一个回车符。等效于 \x0d 和 \cM 5x'Oz.t |0 |
\s51Testing软件测试网 La}%EpB-t#Oh | ux+j z ugw0匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t\v] 等效51Testing软件测试网Rn3~ c3Mg"f'Yq5? |
\S51Testing软件测试网-] oU^rXZm8F V | aLe2m w8S4QB0匹配任何非空白字符。等价于 [^ \f\n\r\t\v] 6{jy1_5I}E0 |
\t51Testing软件测试网b'fE5]!k | 51Testing软件测试网gv+B:v
PYPf 制表符匹配。与 \x09 和 \cI 等效51Testing软件测试网,` eJ'yR3k5Y |
Y[T^(]B H0续表
j&Biy"X8[ v051Testing软件测试网$c7k#w:iT6^;yuGkHs)j*@ `!^0字 符 *W"w%F*]r~;g'D0 | hd2ya0[2Z3G/Y:];R0说 明 A3{p:R&V3]0 |
\v i'Zf/C4hIT0 | +l+]M-M"G0垂直制表符匹配。与 \x0b 和 \cK 等效 Dc)J'D,k0 |
\w "^(V&}2}`0e0 | ]8{:~B2[-W2Xi0匹配任何字类字符,包括下划线。与“[A-Za-z0-9_]”等效。51Testing软件测试网n1{)dF2j D(h](O |
\W51Testing软件测试网axr0f9ry | 51Testing软件测试网.SBeC J\"?K` 任何非字字符匹配。与“[^A-Za-z0-9_]”等效 3q oR3W'^)d0 |
\xn QW _ s j_2z6z0 | ,{Z-Us5i0匹配n,此处的n是一个十六进制转义码。十六进制转义码必须正好是两位数长。例如,“\x41”匹配“A”。“\x041”与“\x04”&“1”等效。允许在正则表达式中使用 ASCII 代码 +O'g9T Cpv&[0 |
\num R2z5G fs;jP)R6L;v&e:v0 | 51Testing软件测试网K)T^+t!J(XZ"ia&P
| 匹配 num,此处的 num 是一个正整数。到捕获匹配的反向引用。例如,“(.)\1”匹配两个连续的相同字符51Testing软件测试网}-cE'}T |
\n N,Wu&Od!f?5L0 | 51Testing软件测试网 Gjfwwe5{ 标识一个八进制转义码或反向引用。如果 \n 前面至少有 n 个捕获子表达式,那么 n 是反向引用。否则,如果 n 是八进制数 (0-7),那么 n 是八进制转义码 L7C:sq*J0 |
\nm51Testing软件测试网x9H&f_4rcz5X*Xd a | 51Testing软件测试网SU/~C!s ` O 标识一个八进制转义码或反向引用。如果 \nm 前面至少有 nm 个捕获子表达式,那么 nm 是反向引用。如果 \nm 前面至少有 n 个捕获,那么 n 是反向引用,后面跟 m。如果前面的条件均不存在,那么当 n 和 m 是八进制数 (0-7) 时,\nm 匹配八进制转义码 nm51Testing软件测试网)d#A)HDH o#\v4d |
\nml 8Z)[8I\ i0t0 | -y$VDy5dM`0当 n 是八进制数 (0-3),m 和 l 是八进制数 (0-7) 时,匹配八进制转义码 nml51Testing软件测试网:B4f+H3uTdt!ifk |
\un a'd ogc%K^ T;c@0 | 51Testing软件测试网4z1Z`QHz 匹配 n,其中 n 是以四位十六进制数表示的 Unicode 字符。例如,\u00A9 匹配版权符号 (?)51Testing软件测试网)S(ek a"LU/]'Q(M |
使用这些元字符,可以表示具有特定模式的字符串,例如: 表7.2 正则表达式对象RegExp的方法51Testing软件测试网+j}5K{4E(? 方 法51Testing软件测试网/FF8Th#gY {/Jt
\)\$gEY&A/A$D0描 述 "oIu m+L'i5Tsr!C0compile(pattern,flags)51Testing软件测试网+XlOa S y'Z :z/P|f5UO0将正则表达式转换为内部格式,对于批量匹配可以提高匹配效率 exec(str) 1z2j
]-bdGD|;BN0按照RegExp对象的匹配模式对str字符串进行匹配查找,当设定了全局搜索模式(g),则匹配查找从RegExp对象lastIndex属性所指定的目标字符串位置开始;若没有设置全局搜索,则从目标字符串第一个字符开始搜索。若没有任何匹配发生,返回null。51Testing软件测试网P)ooLJw 该方法将匹配结果放在一个数组内返回,该数组有3个属性 #d!HbOrp ]9}0input:包含目标字符串,同RegExp.index index:匹配到的子字符串在目标字符串中的位置,同RegExp.index lastIndex:匹配到的子字符串后面一个字符的位置,同RegExp.lastIndex TIiykb7kQ0test(str) -ZG(Cg*J#U6y"o0判断str是否符合指定的模式,返回一个布尔变量,true或者false。需要注意,这个方法不会改变RegExp的属性值
.~7B b|b_b0/^\s*$/:匹配一个空行。51Testing软件测试网*d [)Z7[$N}wM `
/\d{2}-\d{5}/:匹配由两位数字、一个连字符再加5位数字组成的ID号。
'X5q,H!Gv%Qe0/<\s* (\S+)(\s[^>]*)?>[\s\S]*<\s*\/\1\s*>/:匹配HTML标记。
'T,@H1d:kO0像这种以斜杠开始和结尾的字符序列称为正则表达式,在Javascrīpt中可以很方便地使用这些表达式。51Testing软件测试网`Ocw&F-e
使用RegExp对象执行字符串模式匹配
"I7U;qdwcB0RegExp是Javascrīpt中的正则表达式对象,利用它可以完成字符串匹配的各种操作。获得一个RegExp对象可以有两种方式:51Testing软件测试网6?@"}HgH+D
var ōbjRegExp=/pattern*/[flag]51Testing软件测试网2NR ^/C!U
//或者
)AXiU[5i0var ōbjRegExp=new RegExp("pattern" [,"flag"]);
!Ku| I ?a0其中pattern是要匹配的模式,flag表示搜索模式,有两个可选参数,分别是g和i。g表示全局搜索,在后面介绍的replace方法中非常有用;i表示忽略大小写,默认情况下是大小写敏感的。例如:51Testing软件测试网 i b
ldC
/jack/ig51Testing软件测试网4ie~^T
new RegExp("jack","ig");
T |$wRq;C0都表示全局匹配文本中的“jack”单词,并且忽略大小写。51Testing软件测试网Jj,{_sz3[,d5P
使用这两种创建方式的效果完全一样,可以直接使用。第一种方式甚至不需要引用变量,而直接把正则表达式当作对象来使用,例如:51Testing软件测试网.@6MI'K
gf
/jack/ig.test(sourceString);
.?
P9yij^9g0其中test就是正则表达式对象的一个方法,表7.2列出了正则表达式的所有方法。
r#P)M9{.y051Testing软件测试网q3I
o9Z4{-X B$~j7d5o KU
51Testing软件测试网} D.YP?'fP*V$|N51Testing软件测试网1M4P^ W/J 51Testing软件测试网
P@
B1l8V"RRz&c
8E^$i3u-zq
wV0在执行完字符串匹配后,匹配结果会以RegExp静态属性的方式提供给脚本程序,每次执行exec都会改变这些静态属性,表7.3列出了RegExp对象的静态属性。
BX zPc&H051Testing软件测试网-P#wI5`tim
x H y ~&Vh+qZ?0表7.3 正则表达式对象RegExp的静态属性
m7Y*?c1R3X051Testing软件测试网0J;^x:[G&b
"@ Na G\[!gT:|0静 态 属 性 N6VKb%MXW{0 | 51Testing软件测试网;O1n0b9gZ ]-B 描 述 6Dsq+W!`~-R:t2G0 |
-a(]2} e2B0e@0RegExp.input51Testing软件测试网 K!V#VTz CC#z | N [ kqk \0保存被搜索的字符串51Testing软件测试网*|SgOo'T kJ0z7T6r |
#QH0I:K;qHw8g0RegExp.index ilqN5d+V0 | 51Testing软件测试网p2T e@IS|7~ 保存匹配的首字符的位置 $lqz#?Y0 |
51Testing软件测试网 t`(|.i`$H RegExp.lastIndex 'mD*_4x ]t+lIu|9{0 | 51Testing软件测试网q,@/Aen$rV6M 保存匹配的字符串下一个字符的位置51Testing软件测试网1e R!r T1H/k ym:w R |
51Testing软件测试网7H"Z5[4y9VGg:]8bF ^ RegExp.lastMatch51Testing软件测试网zaykOeLQ)lU9E | 51Testing软件测试网Rg3KDZOO @1F
s#f 保存匹配到的字符串 A{(tj(NZ6b,P0 |
51Testing软件测试网Y%V:P4R!vl RegExp.lastParen Ee"r/Zl#Aw8J-es#y0 | 4lU9B8vl } E6M&Y'l0保存最后一个被匹配的字符串(最后一个括号的内容) .w;eH/^B|0 |
51Testing软件测试网 r,l_"E8iC.\ RegExp.leftContext51Testing软件测试网$] On"@ {v.N | "Q9~!Y.JH neA0保存匹配字符串左边的内容51Testing软件测试网(Gv#t? hnh8V(s |
51Testing软件测试网K'^#frifRK@i RegExp.rightContext51Testing软件测试网C7\,@jk-B | 51Testing软件测试网R/jL)`7~ZmT 保存匹配字符串右边的内容 *F2k,r,m"^I\s0 |
5LqI"ax(u8O Y,e0RegExp.$1~$9 $]c4DBa8E-] i0 | 51Testing软件测试网b'O%QB8l,C 保存最开始的9个子匹配(括号中的内容)51Testing软件测试网A%\ i/Fu'L)Q2Rl0Z h |
51Testing软件测试网wgAB&JXPx
],P var str=stripTags("<author>jack</author>");51Testing软件测试网)vtpJ4qn 注意:若regularExpression对象未设定全局匹配模式,则数组索引为0的元素就是匹配的整体内容,索引为1~9的元素则包含了子匹配得到的字符。若设定了全局模式,则数组包含了搜索到的所有整体匹配项。51Testing软件测试网H
k\/M+u9] SF)qI
由此可见,所有的匹配结果都保存在同一个位置,当执行exec方法后,这些静态属性就会改变。因此,必须确保在执行完匹配后立即去使用匹配结果,或将它们保存到另外的变量中,而不再使用RegExp的这些属性。51Testing软件测试网9vV{{2T \e8wLc
提取子字符串
}V5TXX7Wa4O0在匹配模式中,可以用小括号将子模式括起来,以获取子匹配的内容,这些匹配的结果被存储在RegExp.$1~RegExp.$9中。例如,对于xml片断:
R
F;g.XV0<author>jack</author>
Mo0RVP|0v'W0如果要使用正则表达式获取其中的作者:jack,可以这样实现:51Testing软件测试网e~xk9Se1P
<scrīpt language="Javascrīpt" type="text/javascrīpt">
C$_2g;gJE0<!--51Testing软件测试网V_KUE/LbA
var strXml="<author>jack</author>";
k_\-i~0wsC(\8\0var regExp=/<author>(\w*)<\/author>/;51Testing软件测试网/Yv _N!I*F
regExp.exec(strXml);
XC8D8a{5qZ7u3n0var author=RegExp.$1;51Testing软件测试网*qR)n#n9p+J
cV'U
alert(author);51Testing软件测试网r)H|TU4B@%V]
//-->
;y,IOk\m*gh_0</scrīpt>51Testing软件测试网hr/nTAVM
当需要提取多个子模式时,可以使用RegExp.$1~RegExp.$9依次获取得到的子字符串。如果需要得到的子模式不只9个,也可以使用exec返回的数组来获取子字符串。返回数组的长度为子模式的个数加1,其中数组索引为0的元素表示被搜索的字符串,其后的元素依次对应于模式中的括号。例如上面的例子也可以用下面的代码实现:51Testing软件测试网tR!_%b/Tg:|U
<scrīpt language="Javascrīpt" type="text/javascrīpt">51Testing软件测试网SWA$K4U M y\d
<!--51Testing软件测试网"vZ&Tc;\U-@
var strXml="<author>jack</author>";51Testing软件测试网A
j0T't4z
var regExp=/<author>(\w*)<\/author>/;51Testing软件测试网{pP8z yd
//exec返回一个数组对象
9] J7vZ'H0J(~}D0var arr=regExp.exec(strXml);51Testing软件测试网 [_d:W(q8W
var author=arr[1];51Testing软件测试网vs+LB7~!K\;p
alert(author);51Testing软件测试网gz!T2~8K5A
//-->51Testing软件测试网&\p2S }8@7pQ iac
</scrīpt>51Testing软件测试网:},G,gv{8O
和字符串相关的操作
^ `BP0x#V0在前面讲字符串相关的操作时,有3个方法的参数需要用到正则表达式,下面给出它们的具体用法。51Testing软件测试网#SR&SCOr2scb)bi
1.string.search(regularExpression)51Testing软件测试网VX2t$a%V3Boo| K
其中string是要处理的字符串,regularExpression是匹配模式。该方法在string中查找指定的模式,如果找到,则返回它的第一个字符的索引位置,否则返回-1。例如:51Testing软件测试网]s-F*jB"S^
<scrīpt language="Javascrīpt" type="text/javascrīpt">
Vjz'aE8uf0<!--51Testing软件测试网^&b\pWr
var strXml="<author>jack</author>";
3q3N#H0z9Y7EGf#O0var i=strXml.search(/jack/);
\cyt9S0alert(i);
!kEe9Sx0//-->51Testing软件测试网F3` {KI
</scrīpt>51Testing软件测试网P6c9@;Z'K+l
这段代码的最后结果显示为8。和indexOf方法不同,该方法接收的是一个正则表达式,而indexOf只能接收一个字符串。但两者的行为是类似的。
-aDXSP!I9V8{02.string.replace(regularExpression,replaceString)51Testing软件测试网$^:{2JxO8Ww(|
其中regularExpression是要查找的模式,replaceString是要替换匹配模式的字符串。regularExpression也可以用普通字符串,但那样只能替换第一个出现的匹配,之后的匹配则被忽略。使用正则表达式后可以使用全局模式来实现整个替换。替换后原有字符串不发生变化,而是返回一个新的字符串。例如:在实际开发中经常要删除一段文本中的HTML标记,以获取纯文本,可以使用如下代码实现。
(j)om~4O7n8x`0<scrīpt language="Javascrīpt" type="text/javascrīpt">51Testing软件测试网7c;M _9g2LR\
<!--51Testing软件测试网N/pFnKp
//定义函数用于删除文本中的Html标记
w
Gzb)KEX;Vtoa0function stripTags(s) {
^H-m
[;X%B1|0 return s.replace(/<\/?[^>]+>/gi, '');
8L&YDb)z1@EG!f0}51Testing软件测试网 bI}@7d
alert(str);
W6@UhnX0//-->
}!rpmX*THz0</scrīpt>
NRo.z#V/}1Cg3~0最后,将得到去掉Html标记后的文本“jack”。
?6r${^j%YHpN.r6^03.string.match(regularExpression)
%FQlw \;F/M1X0该方法根据regularExpression正则表达式模式查找字符串string中的匹配字符项,将结果以数组形式返回。该数组有3个属性值,与exec方法返回的数组属性相同。若没有任何匹配,返回null。
51Testing软件测试网m9JZOr^o| h(t
e+B5uM@'z051Testing软件测试网c,S2r]'Df
相关阅读:
- Not Checked (melonboy, 2007-10-16)
- javascript (toString) (spinach_xu, 2007-10-28)
- javascript (function) (spinach_xu, 2007-10-29)
- javascript (无块级作用域) (spinach_xu, 2007-10-29)
- javascript (基本类型与引用类型) (spinach_xu, 2007-10-29)
- javascript (prompt) (spinach_xu, 2007-10-31)
- javascript (for/in) (spinach_xu, 2007-10-31)
- javascript (break and lable) (spinach_xu, 2007-10-31)
- javascript (continue and do/while) (spinach_xu, 2007-10-31)
- 盼望着毕业 做了一个倒计时 见笑了 (spinach_xu, 2007-11-14)
TAG: javascript
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | ||||||
5 | 6 | 7 | 8 | 9 | 10 | 11 | |||
12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
19 | 20 | 21 | 22 | 23 | 24 | 25 | |||
26 | 27 | 28 | 29 | 30 | 31 |
我的存档
数据统计
- 访问量: 34254
- 日志数: 65
- 图片数: 4
- 建立时间: 2006-12-06
- 更新时间: 2008-09-10