栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

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

.^$*+?()[{|

以及这些内部字符类:

^-]

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

.^$*+?()[{|

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

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

[]^-]

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

.^$*[

在BRE中转义括号和大括号给了它们特殊的含义,即它们在ERE中未转义的版本。一些实现(例如GNU)在转义时还赋予其他字符特殊的含义,例如

?
。和
+
。转义。
^ $ *(){}
以外的字符通常是BRE的错误。

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

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号