再学正则与re库
作者:互联网
常用正则符号
*:前一个字符零次或多次
+:前一个字符一次或多次
?:前一个字符零次或一次
\d:匹配0-9之间的数字
.:代表任意字符
|:把左右分成两个部分,要么左边要么右边
\b:表示单词结尾
特殊字符由反斜线引导:
\r:回车
\n:换行符
\t:制表符
\\:反斜线本身
[]:选择任意一个,要么是谁要么是谁,ascll码连续用 - 连接,例如:[0-9A-z]:表示0-9任意一个数字或者A-Z任意一个大写字符
^:在[]的第一个位置,表示取反,例如:[^ab0-9]:表示任意不是a,b也不是0-9的数字
^:字符串开头匹配字符串的开头
$:匹配字符串的结尾位置
(...):括号看成整体,与 + * ? 搭配使用,表示对(...)进行重复
\s:匹配任何空白字符,等价于[\r\n\x20\t\f\v]
\w:匹配包括下划线内的单词字符,等价于[a-zA-Z0-9],也就是连续的字符串,找单词的
{...}:重复几次,里面可以切片,单独取数字等
数据表达式实例
^[A-Za-z]+$:表示由26个字母组成的字符串。【开头,[表示大小写26个字母任选一个]匹配方括号里的字符一次或多次,结尾】
^[A-Za-z0-9]+$:由26个字母和数字组成的字符串。
^-?\d+$:整数形式的字符串。【开头,-号零次或一次,匹配0-9之间数字,重复一次或多次,结尾】
^[0-9]*[1-9][0-9]*$:正整数形式的字符串。【开头,0-9的数字任意一个,重复零次或多次,1-9的数字任意一个,0-9的数字,重复零次或多次,结尾】
[1-9]\d{5}:中国境内邮政编码,6位。【1-9的数字任意一个,匹配0-9之间的数字,重复5次】
[\u4e00-\u9fa5]:匹配中文字符。
\d{3}-\d{8}|\d{4}-d{7}:国内电话号码。 093-12345678|3124-1234567
re库主要功能函数
例子:正则表达式re的search函数使用正则表达式对要匹配的字符串进行匹配,如果匹配不成功就返回None;
匹配成功就返回匹配对象。
匹配对象调用start函数匹配匹配字符串的开始位置,end函数匹配字符串的结束位置。search只匹配返回第一次的结果。
import re
s = "I am a student!"
m = re.search(r"[A-Za-z]+\b",s)
while m!=None:
start = m.start()
end = m.end()
print(s[start:end])
s = s[end:]
m = re.search(r"[A-Za-z]+\b",s)
re库详细](https://blog.csdn.net/qq_43636709/article/details/107140529)
标签:字符,再学,匹配,数字,零次,re,正则,字符串 来源: https://blog.csdn.net/qq_43636709/article/details/115329675