gulinlin 发表于 2017-3-30 20:28:00

集合贴正则表达式的特殊字符含义(一)

集合贴正则表达式的特殊字符含义(一)正则表达式在开发中用的很多,之前也看到过类似的文章。最开始做开发的时候也是经常会遇到这样的问题,一直想要知道在正则表达式中所有能遇到的字符到底都是什么含义,但是作为一个刚从兄弟连(www/itxdl/cn)毕业的小兵,并没有太多的时间整理。现在很荣幸成为一个项目经理,终于有机会。希望能对兄弟们有帮助。也推荐给兄弟连学习的师弟师妹们! 字符/意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符。举例:/b/匹配字符'b',通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示匹配一个单词的分界线。或者:对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释。 字符^意义:表示匹配的字符必须在最前边。举例:/^A/不匹配"an A,"中的'A',但匹配"An A."中最前面的'A'。 字符$意义:与^类似,匹配最末的字符。举例:/t$/不匹配"eater"中的't',但匹配"eat"中的't'。 字符*意义:匹配*前面的字符0次或n次。举例:/bo*/匹配"A ghost booooed"中的'boooo'或"A bird warbled"中的'b',但不匹配"Agoatg 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'。匹配子串能被结果数组中的素, ..., 返回,或被RegExp对象的属性, ..., 返回。 字符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"。 字符意义:一字符列表,匹配列出中的任一字符。你可以通过连字符-指出一个字符范围。举例:跟一样。它们匹配"brisket"中的'b'和"ache"中的'c'。 希望这些总结的内容对大家是有帮助的。如果是初学者的小伙伴,建议还是去兄弟连177··1011··6169系统的完整的学习一下,只是懂得技巧的内容还是不够的。

hmxaur 发表于 2017-3-31 10:29:19

好东西谢谢楼主分享
页: [1]
查看完整版本: 集合贴正则表达式的特殊字符含义(一)