2011-04-26 30 views
1

如何使用正则表达式来实现Markddown的emphasisboldMarkdown重点 - 重新替换

或者怎么可能用** **里面的内容替换\*\*(.*)\*\*

+0

实现?正则表达式只是模式。你对模式的处理取决于你和你选择的语言。 – 2011-04-26 23:38:14

回答

3

您可以使用re.sub()

import re 

myRegex = re.compile(r"\*\*(.+?)\*\*") 
string = "some **text** and some **more**" 

output = myRegex.sub(r"\1", string) 
+1

-1:这只适用于字符串中有单个块的情况(即''string =“some ** text ** plus ** other text **''失败)。您应该使用正则表达式来执行替换:''output = myRegex.sub('\\ 1',string)'' – Blair 2011-04-27 00:25:52

+0

好的一点,我可以循环搜索,直到没有更多的结果,但你的方式更加优雅。 – erbridge 2011-04-27 01:19:20

+0

“r”是什么意思\ 1“'? – Halst 2011-04-27 06:09:05

2

我认为Fantasizer有正确的观念。

另外,你应该看一看基于Markdown Library

通过inlinepatterns.py具体看Python来看看他们是如何匹配“强”(粗体)和“重点”