我正在尝试用Python从表单的wikitext模板中删除换行符:
{{cite web
|title=Testing
|url=Testing
|editor=Testing
}}
应通过以下方法获得回复sub地址:
{{cite web|title=Testing|url=Testing|editor=Testing}}
我已经用Python正则表达式试了几个小时了,但是还没有成功。例如,我试过:
while(re.search(r'\{cite web(.*?)([\r\n]+)(.*?)\}\}')):
textmodif=re.sub(r'\{cite web(.*?)([\r\n]+)(.*?)\}\}', r'{cite web\1\3}}', textmodif,re.DOTALL)
但是它并没有像预期的那样工作(即使没有while循环,它也不能在第一次换行时工作)。你知道吗
我发现了一个类似的问题,但没用:Regex for MediaWiki wikitext templates。我对Python很陌生,所以请不要对我太苛刻:-)
先谢谢你。你知道吗
您需要为
.
打开换行符匹配;它不匹配换行符,否则:要匹配的文本中有多个换行符,因此仅匹配一组连续的换行符是不够的。你知道吗
从^{} documentation :
您可以使用一个
re.sub()
调用一次性删除cite
节中的所有换行,而不使用循环:这使用一个嵌套的正则表达式从匹配的文本中删除所有包含至少一个换行符的空白。你知道吗
演示:
相关问题 更多 >
编程相关推荐