正则表达式
1.正则:
作用是,字符串的查找和替换。
正则是跨语言、任何语言都都可以用正则来处理,属于通用的和json一样
2.正则表达式 包含 原本字符和元字符两种
元字符如下:
.点 -->匹配除“\n”和"\r"之外的任何单个字符。要匹配包括“\n”和"\r"在内的任何字符,请使用像“[\s\S]”的模式。
\d --->匹配一个数字字符。等价于[0-9]。grep 要加上-P,perl正则支持
限定符:
+ 代表至少匹配一次
?代表最大匹配一次
* 代表匹配0次或者多次
() 表示一个组 ,标记一个表达式的开始和结束
正则的两个写法:
import re #需要使用到re
'''需要替换的字符串'''
admin_user = '17799801359'
admin_pwd = '123456'
data = {"admin_user":"17799801359","admin_pwd":"123456"}
s = '{"mobilephone":"${admin_user}","pwd":"${admin_pwd}"}'
# p = "\$\{admin_user}" #原本字符的写法,全部找到并且替换
# m = re.search(p,s)
# print(m)
p1 = "\$\{(.*?)}" #元字符和限定符写法---->推荐使用,找到一个替换一个
m = re.search(p1,s)
print(m)
g = m.group()
g1 = m.group(1) #取一个组的匹配字符串
print(g1)
value = data[g1]
s = re.sub(p1,value,s,count=1) #查找全部,使用的是findall查找
print("使用正则表达式查找,并且替换",s)