2011-04-26 4 views
1

정규식으로 Markddown의 emphasis 또는 bold을 어떻게 구현합니까?Markdown 강조 - 다시 대체

또는 의 내부 내용을 다시 \*\*(.*)\*\*으로 어떻게 대체 할 수 있습니까?

+0

구현? 정규 표현식은 단순한 패턴입니다. 당신이 패턴을 가지고하는 일은 당신과 당신의 선택 언어에 달려 있습니다. –

답변

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 **"'). replacement :''output = myRegex.sub ('\\ 1', string)'' – Blair

+0

좋은 지적. 결과가 더 이상 없을 때까지 탐색을 반복했을 뿐이지 만, 당신의 방법은 훨씬 더 우아합니다. – erbridge

+0

'r "\ 1"'의 의미는 무엇입니까? – Halst

2

내가 Fantasizer 올바른 생각을 가지고 생각합니다.

또한, 당신은 그들이 일치 방식을 볼 특히 inlinepatterns.py 통해보고 Markdown Library

을 기반으로 파이썬을 살펴한다 '강력한'(굵게)와 '강조'