flex 正则表达式中的空白
blank in regular expression in flex
我在 flex 文件中有以下正则表达式。 (.l 文件)
doctype [[:blank:] \r\n]*<!DOCTYPE[^\[]*\[[[:blank:] \r\n]*
在 flex 教程的 pattern
章节中,我看到 flex defines ‘[:blank:]’ as a blank or a tab.
但是在上面的表达式中,为什么我们需要在 [:blank:]
之后添加一个空格?
[:blank:]
POSIX 字符 class 匹配 space 或制表符(即使在 FLEX patterns manual 中)。
因此,[[:blank:] \r\n]
字符class等于[[:blank:]\r\n]
。
与 [rr]
相同 = [r]
。
我在 flex 文件中有以下正则表达式。 (.l 文件)
doctype [[:blank:] \r\n]*<!DOCTYPE[^\[]*\[[[:blank:] \r\n]*
在 flex 教程的 pattern
章节中,我看到 flex defines ‘[:blank:]’ as a blank or a tab.
但是在上面的表达式中,为什么我们需要在 [:blank:]
之后添加一个空格?
[:blank:]
POSIX 字符 class 匹配 space 或制表符(即使在 FLEX patterns manual 中)。
因此,[[:blank:] \r\n]
字符class等于[[:blank:]\r\n]
。
与 [rr]
相同 = [r]
。