Python 如何更改使用正则表达式捕获的字符串
我目前正在编写一个文本,我正在努力编辑使用正则表达式捕获的内容 我的课文分为几个句子,每个句子有一行。在每一行上,我都使用RegEx进行定位;电子邮件、URL、日期等。我希望在不同正则表达式识别的内容中找到的空格被替换为“~” 下面是我如何首先使用正则表达式进行捕获:Python 如何更改使用正则表达式捕获的字符串,python,regex,string,replace,Python,Regex,String,Replace,我目前正在编写一个文本,我正在努力编辑使用正则表达式捕获的内容 我的课文分为几个句子,每个句子有一行。在每一行上,我都使用RegEx进行定位;电子邮件、URL、日期等。我希望在不同正则表达式识别的内容中找到的空格被替换为“~” 下面是我如何首先使用正则表达式进行捕获: url = re.compile(ur"((\s|\A)((ht|f)tp(s)?://)?(www\.)?([\w\-\.]+)\.\w+([\w\-\./\?#]+)?\b)", re.I) if url.search(lin
url = re.compile(ur"((\s|\A)((ht|f)tp(s)?://)?(www\.)?([\w\-\.]+)\.\w+([\w\-\./\?#]+)?\b)", re.I)
if url.search(line):
line = url.sub(ur"{\1}__URL", line)
现在,我找不到一种方法在正则表达式捕获的内容中用“~”替换空格。我尝试了替换、re.subs的串联等方法
PS:一句话中可能会有一些东西需要识别。str.replace()方法有什么问题吗?也许,
打印(re.sub(url,lambda x:x.group(0).replace(“,”~”,line))
?看,谢谢你的回答!Kasramvd,我不知道如何正确地在\1.Stribizev上应用str.replace,这与我想要的非常接近。但我举的例子并不好。如果我们尝试使用:heure=re.compile(ur)(((0?\d)|(1\d)|(2[0-3])()?(:| heure(s)| h)(((0\d)|([1-5]\d)])”,re.I)如果heure.search(line):line=heure.sub(ur{\1}(heure),line)line=“13 heures 30:56 15 h12
您的代码是否可以将行变量更改为line=heures~23:56?