Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.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_Multiline - Fatal编程技术网

Python 多行模式和标记搜索

Python 多行模式和标记搜索,python,regex,multiline,Python,Regex,Multiline,我正在尝试为标记创建一个模式,但是sub方法只是替换了行末尾的第一个字符和3,我正在尝试用多行替换行中的所有标记 p=re.compile('<img=([^}]*)>([^}]*)</img>', re.S) p.sub(r'[img=\1]\2[/img]','<img="test">dsad</img> <img="test2">dsad2</img>') output: '**[**img="test">dsa

我正在尝试为标记创建一个模式,但是sub方法只是替换了行末尾的第一个字符和3,我正在尝试用多行替换行中的所有标记

p=re.compile('<img=([^}]*)>([^}]*)</img>', re.S)
p.sub(r'[img=\1]\2[/img]','<img="test">dsad</img> <img="test2">dsad2</img>')
output:
'**[**img="test">dsad</img> <img="test2"]dsad2**[/img]**'
p=re.compile(“([^}]*)”,re.S)
p、 sub(r'[img=\1]\2[/img]','dsad-dsad2')
输出:

'**[**img=“test”>dsad您在re模式开始时使用的:

<img=([^}]*)>

这与一个
img
标记(以及其中的所有标记)匹配,并且似乎完全执行了您所指的替换。

谢谢,这解决了问题。我没有找到关于模式的好文档/手册,即使您比某些站点更了解您的解释……您知道如何进行反向编译吗?p=re.compile(r'[img=([^]]*?)(.**[/img]',re.S)文件“C:\Python25\lib\re.py”,第241行,在_compileraise error,v#无效表达式sre_常量中。错误:不平衡括号使用库,而不是重新发明轮子。
p = re.compile(r'<img=([^>]*?)>(.*?)</img>', re.S)