Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何更改使用正则表达式捕获的字符串_Python_Regex_String_Replace - Fatal编程技术网

Python 如何更改使用正则表达式捕获的字符串

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

我目前正在编写一个文本,我正在努力编辑使用正则表达式捕获的内容

我的课文分为几个句子,每个句子有一行。在每一行上,我都使用RegEx进行定位;电子邮件、URL、日期等。我希望在不同正则表达式识别的内容中找到的空格被替换为“~”

下面是我如何首先使用正则表达式进行捕获:

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?