回 帖 发 新 帖 刷新版面

主题:这个正规表达式是什么意思

正规表达式如下:
/^\s*((?:[^:\s]*?:)?)/

回复列表 (共2个回复)

沙发

先列出有关控制符的说明:

^                   start of string
\s                  a whitespace character (space, tab, newline)
[^abc]              matches a single character outside the given set [abc]
*                   zero or more of the previous thing
+                   one or more of the previous thing
?                   zero or one of the previous thing
(?:regexp)          Non-capturing groupings
a*? = match 'a' 0 or more times, i.e., any number of times, but as few times as possible

试着分析如下:

/^                     # 从头开始比较
  \s*                  # 零或多个空格,tab 和 newline 符
  (                    # 提取匹配变量 $1 = (?:[^:\s]*?:)?
    (?:                # 不提取匹配变量
       [^:\s]*?        # 不含 : 和 \s 字符, 尽可能短的匹配
       :               # 字符 :
    )?                 # 零或一个 ([^:\s]*?:)
  )
/

板凳

谢了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册