正则表达式re去除或匹配特殊字符

1、正则表达式re去除或匹配特殊字符

1.1re.sub去除特殊字符

re.sub(pattern, repl, string, count=0, flags=0)

pattern:表示正则表达式中的模式字符串;

repl:被替换的字符串(既可以是字符串,也可以是函数);

string:要被处理的,要被替换的字符串;

count:匹配的次数, 默认是全部替换

import re
# 1.修改中文逗号为英文逗号
s1 = 'hello,,my friend'
s1=re.sub(r'[,]{1,100}', ',' ,s1) # 对中文逗号匹配1到100次,并替换为英文逗号
print(s1)   # hello,my friend

#2.修改中文?变为英文?号
s3 = 'what?'
print(re.sub(r'[\?]{1,50}','?',s3)) # what?

上面字符中"r"开头的作用:字符串的原始含义,由r开头引起的字符串就是声明了后面引号里的内容是原始字符串,在里面放任何字符都表示该字符的原始含义。

1.2 re匹配re.search()

re.search(r’\d+(.\d+)?’, a).group() 匹配小数

1.3替换字符的方式

str.replace(old, new[, max])

old – 将被替换的子字符串。
new – 新字符串,用于替换old子字符串。
max – 可选字符串, 替换不超过 max 次

参考说明:https://blog.csdn.net/feiyang5260/article/details/94590865?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-12&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-12
https://www.cnblogs.com/sshcy/p/8065113.html

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果要使用正则表达式来去掉匹配字符串的最后一个字符,可以使用如下正则表达式: ``` (.*).$ ``` 这个正则表达式使用了贪心匹配,其中 `.*` 匹配任意数量的任意字符,`.` 匹配单个任意字符,而 `$` 表示匹配行的末尾。在这个正则表达式中,我们使用括号将 `.*` 和 `.$` 分组,然后在使用替换操作时只替换第一个分组。 例如,使用这个正则表达式替换字符串 `hello world!` 将得到 `hello worl`。 如果希望得到的字符串中不包含最后一个字符的前一个字符,可以使用如下正则表达式: ``` (.*)[^]$ ``` 这个正则表达式和上一个正则表达式类似,只不过它使用的是非贪心匹配。在这个正则表达式中,`.*` 匹配任意数量的任意字符,`[^]` 匹配单个非空字符,而 `$` 表示匹配行的末尾。这个正则表达式与上一个正则表达式的区别在于它会匹配最后一个字符之前的所有非空字符。 例如,使用这个正则表达式替换字符串 `hello world!` 将得到 `hello worl`。 ### 回答2: 可以使用以下正则表达式去除匹配字符串的最后一个字符: (.*).$ 其中,(.*)表示匹配任意字符,并且以贪婪模式匹配,也就是匹配尽可能多的字符。而.$表示匹配匹配字符串的最后一个字符。 例如,如果要去掉字符串"Hello World!"的最后一个字符,可以使用上述正则表达式进行匹配匹配结果为"Hello World",最后一个字符"!"已被去除。 使用正则表达式去除最后一个字符的好处是,不需要事先知道字符串的具体内容,只需要匹配字符串即可。这样在处理一些动态或者不确定的情况下非常有用。而且,使用正则表达式去除最后一个字符的方法非常简洁、高效。 ### 回答3: 可以使用正则表达式中的" . "匹配任意一个字符,再加上" $ "匹配字符串末尾来实现去掉匹配字符串的最后一个字符的效果。具体的正则表达式如下: "^(.*).$" 其中,"^"表示以...开始,"$"表示以...结束,"(.*)."表示匹配任意字符的零个或多个重复,最后的"."表示匹配最后一个字符。使用一个空字符串来替代匹配到的最后一个字符,就可以去掉最后一个字符。 例如,对于字符串"Hello",使用上述正则表达式可以得到"Hell"。 代码实现示例(Python): ```python import re str = "Hello" result = re.sub("^(.*).$", r"\1", str) print(result) ``` 输出结果为:"Hell"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值