python正则表达式详解
时间: 2023-10-21 21:04:28 浏览: 99
正则表达式是一种描述字符串模式的语言,用于匹配、查找、替换等操作。Python中使用re模块来支持正则表达式操作。
1.基本语法
正则表达式的基本语法包括:
1)普通字符:表示自身,如a、b、c、1、2、3等。
2)特殊字符:具有特殊意义,如^、$、.、*、+、?、\、|、()、[]、{}等。
3)元字符:用于表示某种特定的字符类型,如\d表示数字,\w表示字母数字下划线,\s表示空白字符等。
4)量词符:用于表示重复次数,如*表示0到多次,+表示1到多次,?表示0或1次,{m,n}表示m到n次等。
2.正则表达式示例
下面是一些常用的正则表达式示例:
1)匹配数字:\d+
2)匹配字母数字下划线:\w+
3)匹配空白字符:\s+
4)匹配邮箱地址:\w+@\w+\.(com|cn)
5)匹配手机号码:1\d{10}
6)匹配IP地址:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
7)匹配HTML标签:<[^>]+>
8)匹配URL地址:(http|https)://[\w\./]+
3.正则表达式常用函数
Python中re模块提供了常用的正则表达式函数,包括:
1)re.match(pattern, string, flags=0):从字符串开头匹配。
2)re.search(pattern, string, flags=0):在字符串中查找匹配。
3)re.findall(pattern, string, flags=0):返回所有匹配的字符串。
4)re.sub(pattern, repl, string, count=0, flags=0):替换匹配的字符串。
5)re.split(pattern, string, maxsplit=0, flags=0):分割字符串。
4.正则表达式修饰符
Python中re模块还提供了一些修饰符,用于修改正则表达式的匹配规则,包括:
1)re.I:忽略大小写。
2)re.M:多行模式,^匹配行开头,$匹配行结尾。
3)re.S:点任意匹配模式,.可以匹配换行符。
4)re.U:Unicode字符集模式。
5)re.X:扩展模式,可以使用注释。
5.正则表达式实例
下面是一些正则表达式实例,用于匹配不同类型的字符串:
1)匹配数字:pattern = r'\d+'
2)匹配字母数字下划线:pattern = r'\w+'
3)匹配空白字符:pattern = r'\s+'
4)匹配邮箱地址:pattern = r'\w+@\w+\.(com|cn)'
5)匹配手机号码:pattern = r'1\d{10}'
6)匹配IP地址:pattern = r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'
7)匹配HTML标签:pattern = r'<[^>]+>'
8)匹配URL地址:pattern = r'(http|https)://[\w\./]+'
6.总结
Python中的正则表达式使用相对简单,但是需要掌握正则表达式的基本语法、常用函数和修饰符等,才能更好地应用于实际问题中。
阅读全文