本文共 1817 字,大约阅读时间需要 6 分钟。
正则表达式是用来描述目标字符串特征的一串特殊的文本,它定义了一种匹配模式,可以用来匹配与检索符合该模式的文本。学习正则表达式首先要了解元字符。
元字符 | 作用 |
---|---|
string | 匹配包含string的字符串 |
re1 | re2 | 匹配正则表达式re1或者re2 |
^ | 匹配以指定字符串开头的字符串 |
$ | 匹配以指定字符串结尾的字符串 |
. | 匹配除\n之外任意字符串 |
* | 匹配0次或者多次前文正则表达式 |
+ | 匹配1次或者多次前文正则表达式 |
? | 匹配0次或者1次前文正则表达式 |
(…) | 匹配括号内的正则表达式并另存为子组 |
[…] | 匹配包含方括号中字符集任一字符的字符串 |
{} | 匹配字符串长度 |
\d | 匹配十进制数字 |
\w | 匹配字母或者数字 |
\s | 匹配空格字符\n、\t、\r、\v、\f 等 |
>>> import re>>> s="python1 python2 python3 python">>> print(re.match("python",s))>>> s1="P python1 python2 python3 python">>> print(re.match("python",s1))None
>>> import re>>> s1="P python1 python2 python3 python">>> print(re.search("python",s1))
>>> import re>>> s="python1 python2 python3 python">>> print(re.findall("python",s))['python', 'python', 'python', 'python']
>>> import re>>> s = "python1 python2 python3 are all python">>> print(re.split(" ",s))['python1', 'python2', 'python3', 'are', 'all', 'python']
>>> import re>>> s = "python1 python2 python3 are all python">>> print(re.sub("python","Python",s))Python1 Python2 Python3 are all Python
>>> import re>>> s = "python1 python2 python3 are all python">>> a = re.search("python",s)>>> a.group()'python'>>> a.groups()()>>> b = re.search("([a-z]*)([0-9]*)",s)>>> b.group()'python1'>>> b.group(2)'1'>>> b.groups()('python', '1')
>>> import re>>> s = "python1 python2 python3 are all python">>> pattern = re.compile(r"([a-z]*)([0-9]*)")>>> b = pattern.search(s)>>> b.group()'python1'
转载地址:http://dxozi.baihongyu.com/