假设这样的降价文件
In [86]: !cat formatCase.md
Some content in the head
```
>>> '{:20,.2f}'.format(18446744073709551616.0)
'18,446,744,073,709,551,616.00'
```
When formatting an integer, include the comma after the width:
```
>>> '{:20,d}'.format(18446744073709551616)
'18,446,744,073,709,551,616'
```
some content on the foot.
我想将语言类型添加到```
In [88]: c = open("new_format.md").read()
new_c = re.sub(r"```([^`]+)```", r"```python\1```",c)
此解决方案有效,
再走一步,如果存在在```内产生错别字错误的情况,就会发生一个`或两个`,
然后,应将[^`]替换为^(```)。
交替尝试
r"```(^(```))+```"
r"```(?:^(?:```))+```"
r"```((?:^(?:```))+)```"
它不能正确执行。
如何考虑^(```)情况。
答案 0 :(得分:1)
您可以使用
r'```([^`]*(?:``?(?!`)[^`]*)*)```'
请参见regex demo
详细信息
```
-3个反引号([^`]*(?:``?(?!`)[^`]*)*)
-第1组:
[^`]*
-除反引号外的0+个字符(?:``?(?!`)[^`]*)*
-的零次或多次重复
``?(?!`)
-1或2个反引号后面没有另一个反引号[^`]*
-除反引号外的0+个字符```
-3个反引号