此问题在此处已有答案:
Regular expression works on regex101.com, but not on prod(1个答案)
昨天关门了。
在一个markdown文件中,我希望将python代码提取到
```python
...
```(end)
使用正则表达式和Python。而Python代码
import re
text = 'We want to examine the python code\n\n```python\ndef halloworld():\n\tfor item in range(10):\n\t\tprint("Hello")\n``` and have no bad intention when we want to parse it'
findpythoncodepattern = re.compile(r'```python.+```',re.MULTILINE)
for item in findpythoncodepattern.finditer(text):
print(item)
没有找到结果(即使我添加或删除re.MULTILINE
标志),regex似乎不是问题所在,因为Regex101找到了它。
当我将text修改为rawtext ' '
-〉r' '
时,它会找到一些东西,但不是完全匹配。
2条答案
按热度按时间m3eecexj1#
尝试使用
flags = re.S
(又名re.DOTALL
):图纸:
lmvvr0a82#
在markdown文件中,我想提取python代码
要只提取代码,请使用
(?<=```python)([\s\S]+)(?=```)
模式。[\s\S]
与带有re.S
标志的.
相同。