- 正则切割
import re # re.split() c = re.compile(r'\d') # 正则切割 s = c.split('正则其实不难1但是学完之后2发现什么也写不出来3是这样吧') print(s) ''' # s = '正则其实不难 但是学完之后 发现什么也写不出来 是这样吧' s = '正则其实不难1但是学完之后2发现什么也写不出来3是这样吧' ret = s.split() print(ret) '''
- 正则替换
import re c = re.compile(r'\d') s = 'If1you2do3not4leave5me6I7will8by9your8side7until6the5life4end' # 指定替换,可以指定替换次数 ret = c.sub(' ', s, 3) # print(ret) # 干预替换过程 def tihuan(m): # m表示匹配到的内容,一处匹配调用一次 # print(m.group()) return '*' ret2 = c.sub(tihuan, s) # print(ret2) def double(m): return m.group() * 2 ret3 = c.sub(double, s) # print(ret3) # 传递一个函数后,可以人为的干预替换的过程 ret4 = re.sub(r'\d', lambda m: str(int(m.group()) * 2), s) print(ret4)
正则转义
- 示例:
import re ''' python \d \\d \\\d \\\\d r'\\d' re \d \d \\d \\d \\d 匹配 数字 数字 \d \d \d ''' # 建议前面添加字符'r' c = re.compile(r'\\d') s = c.search('hello\dworld') if s: print(s.group())
- 说明:
- 匹配正则语法中的特殊字符都需要进行转义
- 建议书写正则表达式字符串时前面添加
r
,可以省去python
中对字符串的解析
练习:
- 匹配手机号
- 匹配邮箱
- 匹配URL(http://www.baidu.com:80/index.html?id=3&page=5)
- 匹配IP地址
- 把下划线命名(也叫蛇形命名,所有单词都是小写,中间通过下划线连接),转化为小驼峰命名法(第一个单词小写,其余所有单词首字母大写)。例如
'go_to_next_page'
,转化后改写为'goToNextPage'
。要求:用正则表达式替换
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~