zoukankan      html  css  js  c++  java
  • 正则表达式

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

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

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

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

    1 匹配单行记录

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

    2 Python中的正则表达式使用

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

    1 >>> regex_list1 = re.compile ( r'aaa' )
    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()函数对这个字符串进行编译,函数的返回结果就是一个正则表达式的对象。

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

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

  • 相关阅读:
    JS异错面试题
    CSG
    OBS工具汇总
    SFS OBS
    zookeeper配置文件
    zookeeper概念
    centos yum源问题三板斧
    nexus仓库
    SVN备份恢复
    ubuntu
  • 原文地址:https://www.cnblogs.com/matrix-r/p/6947447.html
Copyright © 2011-2022 走看看