摘要: 规则1:优先选择最左端的匹配结果(Rule 1: The Match That Begins Earliest Wins) 根据这条规则,起始位置最靠左的匹配结果总是优先于其他可能的匹配结果。这条规则并没有规定优先的匹配结果的长度(稍后将会讨论),而只是规定,在所有可能的匹配结果中,优先选择开始位置最左端的。实际上,因为可能有多个匹配结果的起始位置都在最左端,也许我们应该把这条规则中的“某个匹配结果(a match)”改为“该匹配结果(the match)”,不过这听起来有些别扭。这条规则的由来是:匹配先从需要查找的字符串的起始位置尝试匹配。在这里,“尝试匹配(attempt)”的意思是,在. 阅读全文
posted @ 2012-11-22 15:32 WenEric 阅读(523) 评论(0) 推荐(0) 编辑
摘要: (?'group')把捕获的内容命名为group并压入堆栈(?'-group')从堆栈上弹出最后压入堆栈的名为group的内容,如果堆栈本来为空,则本分组的匹配失败(?(group)yes|no) 如果堆栈上存在以名为 group 的捕获内容的话,继续匹配 yes 部分的表达式,否则继续匹配 no部分(?!) 零宽负向先行断言,由于没有后缀表达式,试图匹配总是失败< #最外层的左括号 [^<>]* #最外层的左括号后面不是括号的内容 ( ( (?'Open'<)... 阅读全文
posted @ 2012-11-22 11:18 WenEric 阅读(611) 评论(0) 推荐(0) 编辑