正则表达式之特殊字符
1、字符 对于单个字符,通常按字面意义表示,字符指出其后的字符为特殊字符,所以不做字面意义解释,而解释为特殊字符。 例如/b/相当于字符b,通过在b前面加一个反斜杠,即为/b/,则该字符变成特殊字符,表示匹配一个单词的分界线。对于几个字符,通常说明是特殊的,符号指出其后的字符不是特殊的,而应按字面解释 2、字符* 表示匹配的字符必须在最前边。 例如 /^A/字符不匹配 an A中的A,但匹配 an A中的最前面的a. 3、字符$ 与^字符类似,但匹配最末的字符。 例如/t$/不匹配eater字符中的t,但匹配eat字符中的t。 4、字符* 匹配*字符前面的字符的0次或n次。 例如/bo*/匹配 A ghost booooed字符中的boooo或 A bird warbled 中的b,但不匹配 A goat grunted字符中的任何字符。 5、字符 + 匹配 +字符前面的字符的 1次或n次,等价于 {1,}。 例如/a+/匹配candy字符中的a和caaaaaaaaaaaady字符中的所有 a 。 6、字符 ? 匹配 ? 字符前面的字符的0次或1次。 例如/e?le?/匹配angel字符中的el和angle字符中的le 。 7、字符 . (注意看呀,是个点) .字符匹配除换行符外的所有单个的字符。 例如/.n/匹配nay,an apple is on the tree字符中的an 和on,但不匹配nay。 8、字符(x) 匹配x字符并记录匹配的值。 9、字符 x|y 匹配x或者y。 10、字符{n} 这里的n 是一个正整数,指匹配前面的n个字符。 例如/a{2}/不匹配“candy"中的a,但匹配“caandy"中的所有a和“caaaandy"中前面的两个a。 11、字符{n,} 这里的n 是一个正整数,指至少匹配n个前面的字符。 例如/a{2}/不匹配“candy"中的a,但匹配“caandy"中的所有a和“caaaandy"中的所有a。 12、字符{n,m} 这里的n 和m都是正整数,指至少匹配n个最多m个前面的字符。 13、字符[xyz] 一字符列表,匹配列出中的任一字符。可以通过连字符-指出字符范围。 例如[abcd]和[a-d]是一样的,它们匹配brisket中的b和echo中的c。 14、字符[^xyz] 一字符补集,它匹配除列出的字符外的所有东西,可以通过连字符-指出字符范围。 例如[^abcd]和[^a-d]等价。它们匹配brisket中的r和echo中的h。 15、字符(空格) 匹配一个空格 16、字符b 匹配一个单词的分界线,比如一个空格。 例如/bnw/匹配noonday中的no,/wyb/匹配“possible yesterday"中的ly。 注意:b规定匹配模式必须出现在目标字符的开头或结尾的2个边界之一。 17、字符B 匹配一个单词的非分界符。 例如/Bnw/匹配noonday中的on,/wyb/匹配“possible yesterday"中的ye。 注意:B规定匹配模式必须出现在目标字符的开头和结尾的2个边界之内,即匹配对象不能作为目标字符串的开头也不能作为目标字符串的结尾。 18、字符cX 这里的X是一个控制字符,指匹配一个字符串的控制字符。 例如/cM/匹配一个字符串中的control-M。 19、字符d 匹配一个数字,等价于[0-9]。 20、字符D 匹配任何的非数字,等价于[^0-9]。 21、字符f 匹配一个表单符 22、字符n 匹配一个换行符 23、字符r 匹配一个回车符 24、字符s 匹配单个空格符,包括空格 、tab、from freed、换行符,等价于[fnrtv]。 25、字符S 匹配除空格符以外的单个的字符,等价于[^fnrtv]。 26、字符t 匹配一个制表符 27、字符v 匹配一个顶头制表符 28、字符w 匹配所有的数字、字母以及下划线,等价于[A-Za-z0-9]。 29、字符W 匹配除数字、字母以及下划线外的其他字符,等价于[^A-Za-z0-9]。 30、字符n 这是一个正整数,指匹配正则表达式最后一个子串的n 值。 31、字符ooctal和xhex 这里的ooctal是一个8进制的escape值,xhex是一个16进制的escape值。 转自:http://blog.chinaunix.net/uid-20289887-id-1710466.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- APP升级,获取AppStore版本号和本地版本号--Swift
- ruby-on-rails – 有没有办法让mongoid使用整数(数字)作为默
- ruby-on-rails – 如何将整数转换为二进制数组..
- react-navigation 使用教程(配完整项目)
- PostgreSQL学习手册(PL/pgSQL过程语言)
- c – 当std :: for_each()返回时为什么要调用转换运算符?
- ruby-on-rails – 是否有Rails 4循环依赖::破坏解决方法?
- C++读写INI配置文件的类实例
- 简单ajax登录
- swift – 用于Flurry.h的Bridging Header不能使用Pod