正则表达式基础知识
来源:互联网 发布:cyberduck windows 编辑:程序博客网 时间:2024/06/11 02:12
正则表达式有12个元字符:【$()*+.?[\^{|】
如果不包含这12个字符,就说不上是正则表达式。另外 “]” 和 “}” 也算是元字符。
在正则表达式中,要匹配这12个元字符,有两种方法
- "\"进行转义。例如: 【\$\(\)\*\+\.\?\[\\\^\{\|】
- 用<\Q>和<\E>标签。 例如 【\Q...\E】 就等同于 【\.\.\.】, 能够匹配 【...】。不过只有 Perl、PCRE、Java6支持\Q 和 \E 标签
大小写不敏感匹配:在字符串前后分别加上【(?i)】【(?-i)】
eg: 表达式【sensitive(?i)caseless(?-i)sensitive】能够匹配字符串【sensitiveCaseLESSsensitive】
匹配多个字符中的一个:用【[]】
eg:表达式【[0-9]】就可以匹配到0到9之间的所有的数字。
表达式【[^0-9]】可以匹配出不属于0到9之间字符
通过连接符【-】设置指定的范围,【-】前面的字符和后面的字符构成一个区间,该区间范围是根据ASCII字符表或者Unicode 字符表设定的。
- 【\d】匹配所有数字机相当于【[0-9]】
- 【\D】匹配所有的非数字,相当于【[^\d]】
- 【\w】匹配一个的单词字符,相当于【[a-zA-Z0-9_]】
- 【\W】是【\w】的补集
- 【\s】匹配任意whitespace。包括:space/tab/line break
- 【\S】匹配【\s】的补集
匹配以某字符串开始的字符串:在开始字符串钱加上【^】或者【\A】
eg:【^alpha】匹配以alpha开始的字符串,等同于【\Aalpha】
匹配以某字符串结束的字符串:在结束字符后加上【$】或者【\Z】
eg:【alpha$】匹配以alpha结束的字符,等同于【alpha\Z】
javascript 不支持 \A
开启多行模式:在字符串前加上【(?m)】
边界匹配:在字符串前后加上【\b】标签,则只能匹配到\b之间的字符。
eg:表达式【\bcat\b】只会匹配【cat】不会匹配到【category】
表达式【\bcat】只会匹配以【cat】开始的字符串,等同于【^cat】标签。
非边界匹配:在字符串前后加上【\B】标签,它的意义与【\b】标签意义相反。
eg: 表达式【\Bcat\B】只会匹配【cat】前后还有其他单词字符的字符串。不能匹配【cate】/【ecat】/【my cat is】,只能匹配到【ecate】这样的字符串。
匹配几个字符串中的一个:在字符串间加上【|】。
eg: 当你用正则表达式【Mary|Jane|Sue】查找字符串【Mary, Jane, and Sue went o Mary's house】,第一次找到的是Mary,查找下一个是Jane,然后会是Sue,最后是Mary。
解释一下:【|】的效果是在目标字符串中查找用【|】连接的字符串,找到一个后,就在剩余的字符串中再继续查找。
首先会在【Mary, Jane, and Sue went o Mary's house】匹配到Mary, 接下来就会在剩余的字符串【, Jane, and Sue went o Mary's house】查找【Mary|Jane|Sue】的匹配结果。
再次匹配之前匹配的字符串:
eg: 要匹配形如日期表示字符串 【2008-08-08】,就是年份的后两位、月份、日子这三个数字相同。
正则表达式:【\d\d(\d\d)-\1-\1】
能够匹配得字符串:2008-08-08/ 2007-07-07
解释:在正则表达式中,()内的匹配结果作为一个group,第一个()匹配的结果是group1, 第二个()匹配的结果是group2, 以此类推。在正则表达式后可以用【"\" + 数字】 的形式表示匹配对应的group。例如【\1】表示匹配group1, 【\2】表示匹配group2,以此类推。
1 0
- 正则表达式基础知识 (转)
- 正则表达式基础知识
- 有关正则表达式基础知识
- 正则表达式基础知识
- 正则表达式基础知识
- 正则表达式基础知识
- 正则表达式基础知识
- 正则表达式基础知识
- 正则表达式基础知识
- c# 正则表达式基础知识
- 正则表达式基础知识
- 正则表达式基础知识
- 正则表达式基础知识
- [转]正则表达式基础知识
- 正则表达式基础知识
- c# 正则表达式基础知识
- 正则表达式基础知识
- 正则表达式基础知识
- 关于OOD的两点总结
- iOS学习笔记 获取手机信息(UIDevice、NSBundle、NSLocal)
- 工具接口标准(TIS)可执行链接格式(ELF)规范-卷III-操作系统特性-程序加载和动态链接(四)
- Android学习资源
- SMTP、DNS错误代码表
- 正则表达式基础知识
- WebDriver判断页面是否刷新的方法
- java中HashMap详解
- mysql自带客户端弹出后闪一下消失的解决办法
- suse开启远程登录 使得xmanager能够访问服务器
- (转)Linux网络编程(1):套接字编程简介
- jsp获取项目路径
- 黑马程序员_StringBuffer&正则表达式总结
- 软件开发模型