Regex的前景如何?

时间:2010-12-04 12:03:06

标签: javascript regex

我需要帮助破译正则表达式

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

这来自showdown.js

(\*\*|__)          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 __

我主要是没有获得第二和第二第3行

1 个答案:

答案 0 :(得分:2)

我会对第二部分进行尝试(请记住,基于知道这是一个JS Markdown解析器):

前瞻断言(?=\S)可能存在,以防万一有人想要写两个星号**或两个下划线__而不想加粗它后面的文本被空格分隔(看我在那里做了什么?)。

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

**此文字不会是粗体。 **
  此文字将为粗体。