zoukankan      html  css  js  c++  java
  • python regex 使用示例

    一般的去匹配 python 的单个 regex 较简单,只需要按照 python 用户手册编写即可。

    本文主要讲一下需要匹配多个 regex 的情况。

    假设我们需要判断输入的每一行 (用 line 进行获取字符串)是否满足其中的一个 regex, 如果满足,则过滤。

    比如,则可以使用如下的方法:

    1. 如果无 regex 对像,则可用:
      any (regex.match(regex, line) for regex in [regex1, regex2, regex3])
    2. 如果有 regex 对像,即先进行了 re.compile, 比如:
      pattern = re.compile(r"(regex1)|(regex2)|(regex3)")
      则可用:
      pattern.match(line) 进行判断即可。

    使用示例如下:

    第一种:

    #!/usr/bin/env python
    
    import sys
    import re
    
    
    if __name__ == '__main__':
    
       while True:
           line = sys.stdin.readline()
           if not line: break
           # any (regex.match(regex, line) for regex in [regex1, regex2, regex3])
           if any (re.match(regex, line) for regex in [".*chronos.*", ".*transcoding.*", "default"]):
               print 'matched'
           else:
               print 'not matched'
    

    第二种:

    #!/usr/bin/env python
    
    import sys
    import re
    
    
    if __name__ == '__main__':
    
       pattern = re.compile(r"(.*chronos.*)|(.*transcoding.*)|(.*default.*)")
       while True:
           line = sys.stdin.readline()
           if not line: break
           if pattern.match(line):
               print 'matched'
           else:
               print 'not matched'
    
  • 相关阅读:
    linux中ll和du的区别
    django+celery+redis环境搭建
    python中若干错误
    js正则表达式中匹配反引号
    yii学习小结
    linux下DNS设置以及解析顺序
    apache中若干模块的安装
    HTML基础
    selenium
    selenium
  • 原文地址:https://www.cnblogs.com/qianggezhishen/p/7349329.html
Copyright © 2011-2022 走看看