正则表达式接触过好屡次,之前用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对字符串进行匹配和过滤。
匹配效果如上图所示。用起来仍是很简单的,只要能设计正确的正则表达式便可。