正则表达式-位置匹配(三)
2016-11-09 21:25
218 查看
有时候我们希望不光能匹配我们想要的字符串,还希望可以对位置进行匹配。比如希望找到单个字母a,而不希望找到相关以a为开头的单词,如abundant。此时就需要使用位置匹配,下面我们来介绍最简单的位置匹配符
\b some word\b(单词边界)
如使用\ba\b正则表达式,此时,仅匹配a单词字母,而不会匹配包含a的单词,此种用法还包含一些衍生的使用,如查找包含
以ab开头的单词,就可以使用\b ab,那么同理,想查找以ed为结尾的单词,就可以使用 ed\b来查找
^ $
前面已经介绍了\b的使用,如果我想要匹配字符串的边界就需要使用上面个两个符号了。其实要记起来这个很容易,就是把^想象 成为箭头,而$ 想象成为箭尾。正如介绍的这样,^匹配字符串的开始,而$匹配字符串的结尾。这里有一个经典的例子,如何 检查一个xml文档为标准格式。这里一般的xml标准写法是 <?xml version="1.0" encoding ="utf-8"?> 这里的要求就是,开头不能是空格或者任意字符,所以,一般而言,如果需要匹配上面的例子,就需要使用前面介绍的开始和结束 符号了。这里按照要求,我们可以得出以下正则表达式
^\S*<\?xml.*\?>$
相关文章推荐
- HDOJ_1711_KMP 求匹配位置
- 正则表达式--递归匹配、非贪婪匹配与分组替换
- 正则表达式-贪婪与非贪婪匹配
- KMP / hdu 1711 [找到匹配的位置并返回]
- 正则表达式匹配出所有是4的倍数的二进制数
- 正则表达式断言匹配数组里的所有数值
- 正则表达式匹配可能包括任意长度的任意空白的任意字符串(最短匹配)
- 正则表达式(五)------ 匹配模式
- (6)KMP算法(求子串的位置)______字符串的匹配
- 数据结构课程设计:括号匹配问题(实现检验匹配并输出不匹配的位置)
- 正则表达式匹配字符串
- 正则表达式 进阶(一)-- 匹配多连续字符、位置匹配、子表达式使用
- 正则表达式中文字符和空格匹配
- 正则表达式匹配多行文本
- 正则表达式惰性匹配模式(?)
- 深入入门正则表达式(java) - 匹配原理 - 2 - 回溯
- 正则表达式Pattern(模式类)Matcher(匹配器类)
- 正则表达式匹配双引号中间的内容(双引号除外)
- 正则表达式规则以及贪婪匹配与非贪婪匹配
- 正则表达式实现最小匹配功能的方法