码迷,mamicode.com
首页 > 其他好文 > 详细

整则表达式分类

时间:2019-12-28 19:27:52      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:html   反向引用   不用   要求   log   tab   unix   body   添加   

 

 

POSIX 规范

  Portable Operating System Interface for uniX
  定义了 UNIX 操作系统应当支持的功能

  包括:

BRE(Basic Regular Expression,基本型正则表达式)
GNU 也对 BRE 做了扩展也支持 『(』、『)』、『{』、『}』、『+』、『?』、『|』 但是需要转义
命令:grep、vi、sed

ERE(Extended Regular Express,扩展型正则表达式)
虽然 BRE 名为“基本”而 ERE 名为“扩展”,但 ERE 并不要求兼容 BRE 的语法,而是自成一体。因此其中的元字符不用转义(在元字符之前添加反斜线会取消其特殊含义)
『(』、『)』、『{』、『}』、『+』、『?』、『|』 不需要转义
命令:egrep、awk

 

几种 POSIX 流派的说明

流派

说明

工具

BRE

(、)、{、}都必须转义使用,不支持 +、?、|

grep、sed、vi(但 vi 支持这些多选结构和反向引用)

GNU BRE

(、)、{、}、+、?、|都必须转义使用

GNU grep、GNU sed

ERE

元字符不必转义,+、?、(、)、{、}、|可以直接使用,\1、\2 的支持不确定

egrep、awk

GNU ERE

元字符不必转义,+、?、(、)、{、}、|可以直接使用,支持\1、\2

grep –E、GNU awk

 

 

常用 Linux/Unix 工具中的表示法

    

PCRE 记法

vi/vim

grep

awk

sed

*

*

*

*

*

+

\+

\+

+

\+

?

\=

\?

?

\?

{m,n}

\{m,n}

\{m,n\}

{m,n}

\{m,n\}

\b *

\< \>

\< \>

\< \>

\y \< \>

(…|…)

…‖…

…‖…

(…|…)

(…|…)

(…)

(…)

(…)

\1 \2

\1 \2

\1 \2

不支持

\1 \2

 

 

 

 

 

 

 

https://www.infoq.cn/article/2011/07/regular-expressions-6-POSIX

https://www.cnblogs.com/lixuwu/p/7816335.html

整则表达式分类

标签:html   反向引用   不用   要求   log   tab   unix   body   添加   

原文地址:https://www.cnblogs.com/siqi/p/12112514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!