python re findall用法
Python 用法
1. 的基本用法
(pattern, string, flags=0)用于在字符串中寻匹配某个模式的所有非重叠出现,并以列表的形式返回所有匹配项。
参数说明:
pattern:需要匹配的正则表达式模式
string:需要被搜索的字符串
flags:可选参数,用于控制正则表达式的匹配方式
2. 匹配数值
使用可以方便地从字符串中提取数值。
示例:(r'\d+', 'abc123xyz456')
输出结果:['123', '456']
正则表达式解释:
\d表示匹配任意一个数字字符
+表示匹配一次或多次
3. 匹配字母
可以使用来匹配字符串中的字母。
示例:(r'[a-zA-Z]+', 'abc123xyz')
输出结果:['abc', 'xyz']
正则表达式解释:
[a-zA-Z]表示匹配任意一个字母,大小写不限
+表示匹配一次或多次
4. 匹配特殊字符
也可以用来匹配字符串中的特殊字符,如空格、标点符号等。
示例:(r'\W+', 'Hello, World!')
输出结果:[', ', '!']
正则表达式解释:
\W表示匹配任意一个非字母、非数字、非下划线的字符
+表示匹配一次或多次
5. 捕获子组
可以捕获匹配项的子组,方便进一步处理。
示例:(r'(\w+)\s+(\w+)', 'Hello, World!')
输出结果:[('Hello', 'World')]
正则表达式解释:
(\w+)表示匹配一个或多个字母、数字或下划线,并将其捕获为第一个子组
\s+表示匹配一个或多个空格字符
正则匹配大小写字母数字特殊字符
(\w+)表示匹配一个或多个字母、数字或下划线,并将其捕获为第二个子组
6. flags参数的应用
flags参数可用于控制正则表达式的匹配方式,常用的参数包括(忽略大小写)、(多行模式)等。
示例:(r'hello', 'Hello, world!', )
输出结果:['Hello']
解释:由于使用了参数,大小写不敏感,因此能够匹配到”hello”或”Hello”
以上所列举的是的一些常见用法,能够方便地匹配字符串中的特定元素,并以列表的形式返回结果。掌握了这些用法,你可以更加灵活地使用来处理字符串匹配的问题。
Python 用法(续)
7. 匹配邮箱地址
可以用来匹配字符串中的邮箱地址。
示例:(r'\w+@\w+\.[a-zA-Z]+', 'Email: ')
输出结果:['']
正则表达式解释:
\w+表示匹配一个或多个字母、数字或下划线
@表示匹配字符”@”
\w+表示匹配一个或多个字母、数字或下划线
\.表示匹配字符”.”
[a-zA-Z]+表示匹配一个或多个字母
8. 匹配手机号码
可以用来匹配字符串中的手机号码。
示例:(r'(\+[\d]{1,2})?[\d]{11}', 'Contact: +86 ')
输出结果:['+86 ']
正则表达式解释:
(\+[\d]{1,2})?表示匹配一个或两个数字前面带有”+“号,并将其捕获为第一个子组,”?“表示子组可选
[\d]{11}表示匹配11个数字
9. 匹配URL
可以用来匹配字符串中的URL链接。
示例:(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', 'Visit my website:      - 输出结果:[’
正则表达式解释:
http[s]?表示匹配”http”或”https”,“?”表示前面的字符可选
(?:...)表示匹配括号中的字符但不捕获
[a-zA-Z0-9$-_@.&+]表示匹配字母、数字或特殊字符
[!*\\(\\),]表示匹配特殊字符”!*\(),”
(?:%[0-9a-fA-F][0-9a-fA-F])表示匹配特殊字符”%xx”,其中”x”为十六进制的数字
10. 替换匹配的内容
可以用来替换匹配到的内容。
示例:(r'\d+', '***', 'abc123xyz456')
输出结果:'abc***xyz***'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。