2010-12-04 3 views
4

내가이 showdown.jsRegex의 미리보기는 무엇을할까요?

(\*\*|__)   match ** or __ 
(?=\S)    -> look ahead for *one* non-space character? what for? 
([^\r]*?\S[*_]*) -> zero or more non-carriage-returns, why newlines \n allowed?, one non-space, zero or more * or _ characters 
\1     ends with 1st capture: ** or __ 
에서 온 정규식

(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1 

를 해독하는 데 도움이 필요

내가 주로하지 않는 2 & 3 선

+3

왜 저자에게 질문하지 않습니까? – Gumbo

+0

또한 참조하십시오 : http://stackoverflow.com/questions/2973436/regex-lookahead-lookbehind-and-atomic-groups – Cullub

답변

2

나는 두 번째 부분에 자상 할게요 (이것은 JS Markdown 파서라는 지식에 기반하여 추측됩니다) :

Lookahead 어설 션 (?=\S)은 어쩌면 거기에으로 분리 된 뒤에 나오는 텍스트를 굵게 표시하지 않고 두 개의 별표 ** 또는 두 개의 밑줄 __을 쓰고 싶을 때를 대비하여있을 것입니다.

** This text will not be bold. ** **This text will be bold.** 

은 **이 텍스트는 굵게 표시되지 않습니다. **
이 텍스트는 굵게 표시됩니다.

+0

왜 세 번째 부분은'\ r'을 제외하지만'\ n'을 제외하는지에 대한 단서가 없습니다. 죄송합니다. – BoltClock

관련 문제