当前位置:  开发笔记 > 编程语言 > 正文

emacs regexp和perl兼容正则表达式(PCRE)的比较表?

如何解决《emacsregexp和perl兼容正则表达式(PCRE)的比较表?》经验,为你挑选了1个好方法。

网上是否有一个很好的表格或备忘单来比较emacs正则表达式和PCRE的sytax?

当我使用emacs正则表达式时,我必须记住要逃避分组括号和括号以及其他差异,这一切都令人困惑,语法比较表可以最大限度地减少混淆.



1> Yoo..:

我将收集我在这里知道的语法差异.这个答案是社区维基,如果有人愿意,可以添加更多.在添加更多之前,请务必检查预览.

什么时候逃避(){} |

在Emacs regexp中,(,),{,},| 是文字和转义的(\(,\),\ {,\},\ |)是元.

在Perl兼容的regexp中,(,),{,},| 是meta,而逃逸的是字面的.

*和+

\*是Emacs和Perl中的真正明星.如果表达式以星号开头,则起始星在Emacs regexp中是文字的,在Perl regexp中是非法的.

同样的加号.

角色类

字符类\d(对于数字),\w(对于单词),\s(对于空格字符)在Emacs正则表达式中不起作用,但在Perl中工作.在Emacs中,使用[[:digit:]],[[:word:]],[[:space:]]而不是(双括号内).在Perl中,他们也是[:digit:],[:word:],[:space:](单括号).

\w不像Perl,在Emacs比赛中'也是"如此.这是因为文本模式语法表具有'"作为单词字符.

反斜杠构造

在Emacs Regexp Backslash中提到的反斜杠结构中,以下结构不在 Perl兼容的正则表达式中.

\` \' \= \< \> \_< \_> \sC \cC

另见\ <和>可以做什么\ b不能做

\A,\Z,\z不是在Emacs.在Emacs中,使用:

\` or \'

有关换行和交互式使用的复杂情况

请参阅Emacs中的文本模式匹配中的第二部分.它还提到为什么\n\t不匹配增量搜索中的换行符和制表符以用于正则表达式(C-M-sM-x isearch-forward-regexp)以及要做什么.

等等

Emacswiki正则表达式

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有