您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在正则表达式中必须转义哪些特殊字符?

在正则表达式中必须转义哪些特殊字符?

实际上,您必须转义哪些字符以及您必须避免转义哪些字符确实取决于您使用的正则表达式风格。

对于PCRE和大多数其他所谓的与Perl兼容的风味,请避免使用以下外部字符类:

.^$*+?()[{\|

以及这些内部字符类:

^-]\

对于POSIX扩展正则表达式(ERE),请转义以下外部字符类(与PCRE相同):

.^$*+?()[{\|

转义任何其他字符是POSIX ERE的错误

在字符类中,反斜杠是POSIX正则表达式中的文字字符。您不能使用它来逃避任何事情。如果要包括字符类元字符作为文字,则必须使用“巧妙放置”。将^放置在字符类的开头以外的任何位置,将]放在开头,将-放置在字符类的开头或结尾,以从字面上匹配这些字符,例如:

[]^-]

在POSIX基本正则表达式(BRE)中,这些是元字符,您需要对其进行转义以隐藏其含义:

.^$*[\

在BRE中转义括号和大括号给了它们特殊的含义,即它们在ERE中未转义的版本。一些实现(例如GNU)在转义时还赋予其他字符特殊的含义,例如\?。和+。转义。^ $ *(){}以外的字符通常是BRE的错误

在角色类中,BRE与ERE遵循相同的规则。

如果所有这些使您的头部旋转,请抓住RegexBuddy的副本。在“创建”选项卡上,单击“插入令牌”,然后单击“文字”。RegexBuddy将根据需要添加转义符。

其他 2022/1/1 18:16:11 有774人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶