主题:这个正规表达式是什么意思
chenzep
[专家分:3640] 发布于 2006-12-06 12:01:00
正规表达式如下:
/^\s*((?:[^:\s]*?:)?)/
回复列表 (共2个回复)
沙发
Leo64823900 [专家分:960] 发布于 2006-12-11 12:45:00
先列出有关控制符的说明:
^ 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]*?:)
)
/
板凳
chenzep [专家分:3640] 发布于 2006-12-11 18:11:00
谢了.
我来回复