Products
GG网络技术分享 2025-03-18 16:14 0
13agh7aa256gh7
13grgh7gdsx14
1vs345regh7ds300sgh7
1t67ggh7ssp687gh
a_305bgh7fagbd114_gh7
dienwgh7ff170
tgirgh4tesp687!gh7
9fs6rgh7dss262fgh7
13agh7aa256
13grgh7gdsx14
1vs345regh7ds300s
1t67ggh7ssp687gh
a_305bgh7fagbd114_
dienwgh7ff170
tgirgh4tesp687!
9fs6rgh7dss262f
gh7(只删除字符串末尾的gh7,包含字符串其中的gh7则不予删除)
1、每一个字符串的长度都是不确定的
2、字符串的构成也没有规律可循
2、目标gh7之前紧挨着的那个字符也是没有规律的
所以,有办法吗?
1、查找框填什么呢?2、替换框填什么呢?
gh7$,替换如果可以不用填就不用填,直接替换空
查找框:gh7($) 或者gh7(\\n) 或者gh7(\\r)
$:单词结尾
\\n\\r:换行回车标记,如果字符串从txt文件读出来,一般是vbcrlf(换行回车符),具体得看字符串格式
替换框:$1$1:英文小括号分组的第一组
下面是通过读Ansible的源码时,看到其在解析hosts时如何处理变量时,变量值的首尾单双引号的去除:
首先,判断对应的变量值是否首尾包含单双引号中的\\1是代表什么呢?其实,在正则表达式中,\\1需要跟括号搭配使用,\\1就是代表跟第一个括号的内容一致,也就是前面的:['\\"]。
另外,re.sub实现正则的替换,第一个参数为正则表达式,第二个是要替换成的目标字符,第三个是目标处理的字符。^['\\"]|['\\"]$中的|代表以单双引号开头或者以单双引号结尾,只要匹配就替换成第二个参数指定的字符。
源码地址:
Demand feedback