flex中的正则表达式
符号 | 含义 | 例子 |
---|---|---|
[] | 匹配方括号中的任意一个字符 | [0-9]:表示数字0~9中的一个字符 |
\ | 类似C中的转义字符 | |
[a-z]{-}[jv] | 匹配前一个括号减去后一个括号集合中的任意一个字符 | [0-3]{-}[0]:表示字符1、2、3中的任意一个 |
^ | 若是正则表达式的第一个字符就表示行首,也被用于方括号中表示补集 | |
$ | 若是正则表达式的最后一个字符就匹配行尾 | |
{} | 表示前一个模式可以匹配的最小和最大次数 | A{1,2}:表示匹配A或AA 0{3}:表示匹配000 |
* | 匹配零个或多个前一个表达式 | [ \t]*:表示匹配任意个空格或tab,也可以是空白字符 |
+ | 匹配1个或多个前一个表达式 | [0-9]+:匹配数字字符串,如1,11,但不能是空字符串 |
? | 匹配零个或一个前一个表达式 | -?[0-9]+:匹配一个有符号数字 |
| | 匹配紧接在前面的表达式,或者紧跟在后米纳的表示是 | apple|pear:匹配两种水果名字中的任意一个 |
“…” | 所有引号中的字符将基于字面意义被解释 |