正则表达式
元字符:.^$+?{}[]|() .通配符(除了n的任何字符) *?? 0~无穷(可以按照0*True,结果为0)? ? ? ? ? ? ? ? +?? 1~无穷(可以按照0+True,结果为True) +*都是尽可能多的匹配 ?? 出现0~1次(取最少) {}匹配次数 {0,}==*???????????????? {0,1}==??????????????????? {1,}==+ 贪婪(*+)? ? ? ? ? ? ? 非贪婪后面加? "*?"?:重复任意次,但尽可能少重复。?如 "acbacb" 正则?"a.*?b"只会取到第一个"acb" 原本可以全部取到但加了限定符后,只会匹配尽可能少的字符,而"acbacb"最少字符的结果就是"acb"。 "+?":重复1次或更多次,但尽可能少重复,与上面一样,只是至少要重复1次。 "??":重复0次或1次,但尽可能少重复。如"aaacb"正则"a.??b"只会取到最后的三个字符"acb"。 "{n,m}?":重复n到m次,但尽可能少重复。如 "aaaaaaaa" 正则 "a{0,m}?"因为最少是0次所以取到结果为空。 "{n,}?":重复n次以上,但尽可能少重复。如 "aaaaaaa" ?正则 "a{1,}?" 最少是1次所以取到结果为 "a"。 ^s? s开头? ? ? ? ? ? ? ? ? ?e$? e结尾? ? []从字符集里匹配一个?????? 可以使用a-z?? a,z表示范围? ? ? []l里面的:^非?? 转义 d 数字??? D非数字? s空白字符??? S非空白字符 w字母和数字 W非字母数字 b特殊字符边界(匹配单词边界,不匹配任何字符。要防止转义字符串前面加r) ? |或匹配 ()分组 先整体匹配,再进行分组的匹配,全部拿出来 var s=‘JavaScript and Java‘ var p=/bJava(w+)b/ p.exec(s)[0] //结果为:"JavaScript" p.exec(s)[1] //结果为:"Script" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |