正则表达式

正则表达式接触过好屡次,之前用C写代码的时候对文本的处理很少,基本没怎么用过。工做了之后对于正则表达式才逐步的用了起来。可是到目前为止,公司里面很多同事对于正则表达式具体怎么用的仍是不清楚,也挺让人无奈的。正则表达式

我好好研究正则表达式是在出差的时候学会的,当时有个数据配置的规则,一线和家里的数据匹配方式正好是反过来的,使用的字符也不同。当时实在是没办法了,把资料搬出来,结合百度,而后好好学习了下,算是知道怎么用了。数组

这里推荐notepad++这个编辑器,里面的正则表达式查找功能用来练习正则表达式实在是太棒了。编辑器

NOTEPAD++的搜索功能中带有正则表达式匹配,能够查找替换,筛选。仍是挺不错的。函数

1 匹配单行记录学习

^.+$        解析:^用来匹配行首, "."能够匹配除了换行的任意字符,"+"表示匹配前面字符1个或无限个,"$"表示行尾,轻松搞定。spa

2 Python中的正则表达式使用设计

Python中自带的re模块仍是挺好用的,结合使用经验,目前看findall函数是相对通用的函数,可以将指定字符串中全部的记录都摘选出来放到一个数组中。code

1 >>> regex_list1 = re.compile ( r'\baaa\b' )
2 >>>
3 >>> tmp_string = 'aaa 1234aaa2342 bacaaa'
4 >>>
5 >>> print regex_list1.findall ( tmp_string )
6 ['aaa']
7 >>> regex_list1 = re.compile ( r'[1-9]{3}aaa[1-9]{2}' )
8 >>> print regex_list1.findall ( tmp_string )
9 ['234aaa23']

先定义一个正则表达式的字符串,咋设计根据本身的需求实现。对象

而后调用re.compile()函数对这个字符串进行编译,函数的返回结果就是一个正则表达式的对象。blog

而后就能够经过这个正则表达式对象的功能函数findall对字符串进行匹配和过滤。

匹配效果如上图所示。用起来仍是很简单的,只要能设计正确的正则表达式便可。

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息