正则表达式语法

lex模式是由编辑程序和实用程序使用的正则表达式的扩展版本。正则表达式由常规字符(代表它们本身)和元字符(在一种模式中具有特殊含义)组成。

元字符

.

. 匹配除了换行符 \n 之外的任意单个字符

[]

[] 匹配括号中字符的任意一个。用“-”(短划线)指示字符的范围,例如[0-9]指10个数字中的任意一个。如果开括号之后的第一个字符是短划线或者闭括号,那么它就不能被解释为元字符。如果第一个字符是抑扬字符“ ^ ”,那么它的含义就变为匹配括号内字符以外的任意字符。除了以“ \ ”开始的C转义序列被识别以外,其他的元字符在方括号中没有特殊含义。

*

* 匹配前面正则表达式的零次或者多次出现。

+

+ 匹配前面正则表达式的一次或者多次出现。

?

? 匹配前面正则表达式的零次或者一次出现。例如: -?[0-9]+  指具有可选的前导或者一元减号的数字

{}

{} 意味着根据括号内部的不同而不同。单个数字{n}意味着前面的模式重复n次。例如: [A-Z]{3} 表示任意3个大写字母。

如果大括号包含的由逗号分开的两个数字{n,m},那么它们是前面模式重复的最小数和最大数。例如:A{1,3}表示字母A出现1次到3次。

如果第二个数字丢失就意味着无穷大,所以{1,}意味着 +    ;  {0,}意味着 *  。

如果大括号包含一个名字,它指示用那个名字来替换。

\

\ 转义符号,如果后面的字符是小写字母,那么它就是C转义序列。 例如制表位:\t

一些实现允许采用如“\123” 和 “\x3f” 这种形式的八进制和十六进制字符。

否则,“\” 引用后面的字符,所以 \* 匹配一个 * 号。

()

() 将一系列正则表达式归组。 *   +   {}   中的每一个都直接作用于它左侧的表达式,而且 |  通常同时影响左侧和右侧的内容。圆括号可以改变这种情况,

例如:(ab|cd)?ef  匹配 abef  或者 cdef 或者只是 ef

|

| 匹配前面的或者随后的表达式。

“...”

“...” 逐字匹配引号内的每个字符。不同于“\”的元字符会失去它的含义。

例如:“/*” 匹配两个字符 /*

/

/ 只有当有后面的表达式跟随时才匹配前面的表达式。

例如: 0/1 匹配字符串01中的0 但是不匹配字符串0或者02中的任何字符。

每个模式只允许有一个/ ,并且模式不能同时包含 / 和 $

^

^ 作为正则表达式的第一个字符,它匹配行的开始,它还在方括号中用于否定。

$

$ 作为正则表达式的最后一个字符,它匹配行的结束

<>

<> 位于模式开头的尖括号内的一个或者一列名字,使那个模式只应用于指定的起始状态。

《EOF》

《EOF》 只用于flex中,这个特殊模式匹配文件的结尾。

最新文章

  1. 求n!最后一位非零数
  2. js接收对象类型数组的服务端、浏览器端实现
  3. 7月07日——[HouseStark] 团队简介
  4. Cairo 下载,测试
  5. Module &#39;fileinfo&#39; already loaded in Unknown on line 0
  6. SQLServer性能优化之 nolock,大幅提升数据库查询性能
  7. Python学习资料汇总
  8. JavaScript之闭包
  9. Js C# 实现跨域访问数据
  10. 原来MySQl就是这样工作的!
  11. iOS UIWebView和网页的交互(OC中调执行JS)
  12. 翻译的技巧(The Technique of Translation)——前言
  13. (简单) POJ 3368 Frequent values,RMQ。
  14. Google 工程师:为什么 CDN 对移动客户端加速“没有”效果
  15. SQLServer版本
  16. Alertmanager 安装(k8s报警)
  17. linux下rocksdb的编译安装
  18. Linux清除文件内容的几种方法
  19. Spring.NET依赖注入框架学习--实例化容器常用方法
  20. python之virtualenv

热门文章

  1. 关于presentViewController 后调用pushViewController
  2. [coci2015-2016 coii] torrent【树形dp 二分】
  3. 简单了解junit的使用
  4. B. Hierarchy
  5. python转换已转义的字符串
  6. BIO,NIO,AIO总结
  7. PHP中的文件操作
  8. C# 枚举类型的描述信息获取
  9. React 实践记录 03 React router
  10. iOS &#160;UDP 广播 AsyncSocket 用法