当前位置:

Python-正则表达式-查找目标字符串-范例

访客 2024-01-08 1042 0

1.概述

  正则表达式在文本编辑领域内的作用是不用质疑的,它是强大、便捷、高效的文本处理工具。

2.特殊字符

  所谓特殊字符,就是一些有特殊含义的字符,若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符\放在它们前面。

特别字符描述$匹配输入字符串的结尾位置。如果设置了RegExp对象的Multiline属性,则$也匹配‘\n’或‘\r’。要匹配$字符本身,请使用$。()标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用(和)。*匹配前面的子表达式零次或多次。要匹配*字符,请使用\*。匹配前面的子表达式一次或多次。要匹配字符,请使用\。.匹配除换行符\n之外的任何单字符。要匹配.,请使用\.。[]标记一个中括号表达式的开始。要匹配[,请使用\[。?匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配?字符,请使用\?。|将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如,‘n’匹配字符‘n’。‘\n’匹配换行符。序列‘\’匹配“”,而‘(’则匹配“(”。^匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配^字符本身,请使用^。{}标记限定符表达式的开始。要匹配{,请使用{。|指明两项之间的一个选择。要匹配

3.Python字符匹配模式

  re模块中的findall函数可以对指定的字符串进行遍历匹配,获取字符串中所有匹配的子串,并返回一个列表结果。该函数的参数含义如下。

findall(pattern,string,flags=0)

pattern:指定需要匹配的正则表达式。
string:指定待处理的字符串。
flags:指定匹配模式,常用的值可以是re.I、re.M、re.S和re.X。re.I的模式是让正则表达式对大小写不敏感;re.M的模式是让正则表达式可以多行匹配;re.S的模式指明正则符号.可以匹配任意字符,包括换行符\n;re.X模式允许正则表达式可以写得更加详细,如多行表示、忽略空白字符、加入注释等。

4.范例

  匹配以struct开头以Suite;结尾的字符串。非贪婪模式匹配。

groups=re.findall(r'struct.*?Suite;',data,flags=re.S);

发表评论

  • 评论列表
还没有人评论,快来抢沙发吧~