正在加载图片...
2、正则表达式篇 正则表达式在Unix/Liunx系统中起着非常重要的作用,在很大一部分的程 序中都使用了正则表达式,可以这么说: 在Unix/Linux系统中,如果不懂正 则表达式就不算会使用该系统”。本文中使用的Lex和Yacc都是基于正则表达 式的应用,因此有必要用一篇文档的形式详细说明在Lex和Yacc中使用的正则 表达式为何物! 其实正则表达式非常简单,用过DOS的人都知道通配符吧,说得简单一点, 正则表达式就是稍微复杂 点的通配符。这里的正则表达式非常简单,规则非常 少,只需要花上几分钟就可以记住。正则表达式的元字符列表如下: 元字符 匹配内容 除了换行符之外的任意字符 换行符 米 0次或者多次匹配 1次或者多次匹配 0次或者1次匹配 行首 文 行尾 a或者b (ab)+ ab的一次或者多次匹配 “a+b” a+b(字面意思) 一类字符 有了上面的元字符之后,就可以用上面的元字符表达出非常复杂的匹配内容 出来,就像DOS名令中的通配符可以匹配多个指定规则的文件名一样。现在让我 们看看上面的元字符的一些应用例子,列表如下: 表达式 匹配内容 abc abc ahc常 abc abcc abccc abcccc… abc+ abcc abccc abcccc..... a(bc)+ abcbc abcbcbc abcbcbcbc..... a(bc)? abc abchc [abc abc其中之 [a-z] a b c d e f g……z其中之日 「a1-21 a-z三个字符其中之二 [-az] az三个字符其中之 [A-Za-20-9]± 大小写字符和10个数字的一个或多个 [1t\n] 空格,跳格,换行三者之一(空白符)2、正则表达式篇 正则表达式在 Unix/Liunx 系统中起着非常重要的作用,在很大一部分的程 序中都使用了正则表达式,可以这么说:“在 Unix/Linux 系统中,如果不懂正 则表达式就不算会使用该系统”。本文中使用的 Lex 和 Yacc 都是基于正则表达 式的应用,因此有必要用一篇文档的形式详细说明在 Lex 和 Yacc 中使用的正则 表达式为何物! 其实正则表达式非常简单,用过 DOS 的人都知道通配符吧,说得简单一点, 正则表达式就是稍微复杂一点的通配符。这里的正则表达式非常简单,规则非常 少,只需要花上几分钟就可以记住。正则表达式的元字符列表如下: 元字符 匹配内容 . 除了换行符之外的任意字符 \n 换行符 * 0 次或者多次匹配 + 1 次或者多次匹配 ? 0 次或者 1 次匹配 ^ 行首 $ 行尾 a|b a 或者 b (ab)+ ab 的一次或者多次匹配 “a+b” a+b(字面意思) [] 一类字符 有了上面的元字符之后,就可以用上面的元字符表达出非常复杂的匹配内容 出来,就像 DOS 名令中的通配符可以匹配多个指定规则的文件名一样。现在让我 们看看上面的元字符的一些应用例子,列表如下: 表达式 匹配内容 abc abc abc* abc abcc abccc abcccc …… abc+ abcc abccc abcccc …… a(bc)+ abcbc abcbcbc abcbcbcbc …… a(bc)? abc abcbc [abc] a b c 其中之一 [a-z] a b c d e f g… … z 其中之一 [a\-z] a – z 三个字符其中之一 [-az] – a z 三个字符其中之一 [A-Za-z0-9]+ 大小写字符和 10 个数字的一个或多个 [ \t\n] 空格,跳格,换行三者之一(空白符)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有