一下内容摘录自《编译原理(第3版)》 清华大学出版社
lex中主要的正则表达式表现形式:
x,可以匹配字符x;
.,可以匹配换行符'\n'以外的任何字符
用[]括起来的字符列表,可以匹配该字符列表中的所有字符。可以出现由间隔符'-'表示的字符范围。例如[xyz]匹配字符x、y或z。又例如,[x-zA4-6]匹配字符x、y、z、A、4、5或6。除了'\'之外,其它字符没有特殊含义。若第一个字符是'-',则不被当作元字符。
用[^和]括起来的字符列表,可以匹配该字符列表之外的所有“字符。例如,[^A-Z]表示匹配大写字母以外的的字符。特别地,[^]可匹配的任何字符。
用双引号括起来的一个串,可以匹配这个串本身。这个串里面的所有元字符(除了\和"")
\后跟八进制数值,\x后跟十六进制数值,则匹配该数值对应的ASCII字符
r* 正则表达式r的星闭包
r++ 正则表达式r的正闭包
r? ?表示一个任意字符
r{n} 表达式r的n次幂
x{m,n} 表达式r的n到n次幂
x{m,} 表达式r大于等于m次幂
rs 表达式r和表达式s的连接
r|s 表达式r和表达式s的并
r/s 匹配表达式r,但仅限于随后输入的符号匹配表达式s
^r 匹配表达式r,但仅限于一行的开头
r$ 匹配表达式r,但仅限于一行的结尾
<c>r 匹配表达式r,但仅限于开始条件为c