登录
首页精彩阅读python里使用正则表达式的组嵌套实例详解
python里使用正则表达式的组嵌套实例详解
2017-11-06
收藏

python里使用正则表达式的组嵌套实例详解

这篇文章主要介绍了python里使用正则表达式的组嵌套实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
由于组本身是一个完整的正则表达式,所以可以将组嵌套在其他组中,以构建更复杂的表达式。下面的例子,就是进行组嵌套的例子:    
#python 3.6
#蔡军生  
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re
 
 
def test_patterns(text, patterns):
  """Given source text and a list of patterns, look for
  matches for each pattern within the text and print
  them to stdout.
  """
  # Look for each pattern in the text and print the results
  for pattern, desc in patterns:
    print('{!r} ({})\n'.format(pattern, desc))
    print(' {!r}'.format(text))
    for match in re.finditer(pattern, text):
      s = match.start()
      e = match.end()
      prefix = ' ' * (s)
      print(
        ' {}{!r}{} '.format(prefix,
                   text[s:e],
                   ' ' * (len(text) - e)),
        end=' ',
      )
      print(match.groups())
      if match.groupdict():
        print('{}{}'.format(
          ' ' * (len(text) - s),
          match.groupdict()),
        )
    print()
  return

例子:    
#python 3.6
#蔡军生  
#http://blog.csdn.net/caimouse/article/details/51749579
#
from re_test_patterns_groups import test_patterns
 
test_patterns(
  'abbaabbba',
  [(r'a((a*)(b*))', 'a followed by 0-n a and 0-n b')],
)

结果输出如下:
    
'a((a*)(b*))' (a followed by 0-n a and 0-n b)
 
 
 'abbaabbba'
 'abb'    ('bb', '', 'bb')
   'aabbb'  ('abbb', 'a', 'bbb')
     'a' ('', '', '')

数据分析咨询请扫描二维码

客服在线
立即咨询