千家信息网

正则表达式字符集是什么

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,这篇文章主要为大家展示了"正则表达式字符集是什么",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"正则表达式字符集是什么"这篇文章吧。正则表达式字符集是由一对
千家信息网最后更新 2025年02月16日正则表达式字符集是什么

这篇文章主要为大家展示了"正则表达式字符集是什么",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"正则表达式字符集是什么"这篇文章吧。

正则表达式字符集是由一对方括号"[]"括起来的正则表达式字符集合。使用正则表达式字符集,你可以告诉正则表达式引擎仅仅匹配多个字符中的一个。如果你想匹配一个"a"或一个"e",使用﹤﹤[ae]﹥﹥。你可以使用﹤﹤gr[ae]y﹥﹥匹配gray或grey。这在你不确定你要搜索的字符是采用美国英语还是英国英语时特别有用。相反,﹤﹤gr[ae]y﹥﹥将不会匹配graay或graey。正则表达式字符集中的字符顺序并没有什么关系,结果都是相同的。

你可以使用连字符"-"定义一个字符范围作为正则表达式字符集。﹤﹤[0-9]﹥﹥匹配0到9之间的单个数字。你可以使用不止一个范围。﹤﹤[0-9a-fA-F] ﹥﹥匹配单个的十六进制数字,并且大小写不敏感。你也可以结合范围定义与单个字符定义。﹤﹤[0-9a-fxA-FX]﹥﹥匹配一个十六进制数字或字母X。再次强调一下,字符和范围定义的先后顺序对结果没有影响。

◆正则表达式字符集的一些应用

查找一个可能有拼写错误的单词,比如﹤﹤sep[ae]r[ae]te﹥﹥ 或 ﹤﹤li[cs]en[cs]e﹥﹥。

查找程序语言的标识符,﹤﹤A-Za-z_][A-Za-z_0-9]*﹥﹥。(*表示重复0或多次)

查找C风格的十六进制数﹤﹤0[xX][A-Fa-f0-9]+﹥﹥。(+表示重复一次或多次)

◆取反正则表达式字符集

在左方括号"["后面紧跟一个尖括号"^",将会对正则表达式字符集取反。结果是正则表达式字符集将匹配任何不在方括号中的字符。不像".",取反正则表达式字符集是可以匹配回车换行符的。

需要记住的很重要的一点是,取反正则表达式字符集必须要匹配一个字符。﹤﹤q[^u]﹥﹥并不意味着:匹配一个q,后面没有u跟着。它意味着:匹配一个q,后面跟着一个不是u的字符。所以它不会匹配"Iraq"中的q,而会匹配"Iraq is a country"中的q和一个空格符。事实上,空格符是匹配中的一部分,因为它是一个"不是u的字符"。

如果你只想匹配一个q,条件是q后面有一个不是u的字符,我们可以用后面将讲到的向前查看来解决。

◆正则表达式字符集中的元字符

需要注意的是,在正则表达式字符集中只有4个 字符具有特殊含义。它们是:"] \ ^ -"。"]"代表正则表达式字符集定义的结束;"\"代表转义;"^"代表取反;"-"代表范围定义。其他常见的元字符在正则表达式字符集定义内部都是正常字符,不需要转义。例如,要搜索星号*或加号+,你可以用﹤﹤[+*]﹥﹥。当然,如果你对那些通常的元字符进行转义,你的正则表达式一样会工作得很好,但是这会降低可读性。

在正则表达式字符集定义中为了将反斜杠"\"作为一个文字字符而非特殊含义的字符,你需要用另一个反斜杠对它进行转义。﹤﹤[\\x]﹥﹥将会匹配一个反斜杠和一个X。"]^-"都可以用反斜杠进行转义,或者将他们放在一个不可能使用到他们特殊含义的位置。我们推荐后者,因为这样可以增加可读性。比如对于字符"^",将它放在除了左括号"["后面的位置,使用的都是文字字符含义而非取反含义。如﹤﹤[x^]﹥﹥会匹配一个x或^。﹤﹤[]x]﹥﹥会匹配一个"]"或"x"。﹤﹤[-x]﹥﹥或﹤﹤[x-]﹥﹥都会匹配一个"-"或"x"。

◆正则表达式字符集的简写

因为一些正则表达式字符集非常常用,所以有一些简写方式。

﹤﹤\d﹥﹥代表﹤﹤[0-9]﹥﹥;

﹤﹤\w﹥﹥代表单词字符。这个是随正则表达式实现的不同而有些差异。绝大多数的正则表达式实现的单词正则表达式字符集都包含了﹤﹤A-Za-z0-9_]﹥﹥。

﹤﹤\s﹥﹥代表"白字符"。这个也是和不同的实现有关的。在绝大多数的实现中,都包含了空格符和Tab符,以及回车换行符﹤﹤\r\n﹥﹥。

正则表达式字符集的缩写形式可以用在方括号之内或之外。﹤﹤\s\d﹥﹥匹配一个白字符后面紧跟一个数字。﹤﹤[\s\d]﹥﹥匹配单个白字符或数字。﹤﹤[\da-fA-F]﹥﹥将匹配一个十六进制数字。

取反正则表达式字符集的简写

﹤﹤[\S]﹥﹥ = ﹤﹤[^\s]﹥﹥   ﹤﹤[\W]﹥﹥ = ﹤﹤[^\w]﹥﹥   ﹤﹤[\D]﹥﹥ = ﹤﹤[^\d]﹥﹥

◆正则表达式字符集的重复

如果你用"?*+"操作符来重复一个正则表达式字符集,你将会重复整个正则表达式字符集。而不仅是它匹配的那个字符。正则表达式﹤﹤[0-9]+﹥﹥会匹配837以及222。

如果你仅仅想重复被匹配的那个字符,可以用向后引用达到目的。我们以后将讲到向后引用。

以上是"正则表达式字符集是什么"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

字符 正则 表达式 字符集 代表 数字 含义 范围 转义 十六进制 单个 斜杠 特殊 元字符 内容 单词 方括号 白字 空格 空格符 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库中的复制透明 无锡信息化软件开发诚信合作 时刻筑牢网络安全防线 利盟网络安全 各种数据库的主键生成策略 qq收藏文件上传至服务器 计算机网络技术 软件工程 加强网络安全从自身做起的倡议书 高中生适合的网络安全课 服务器营业执照怎么识别 传奇服务器列表的使用方法 乐享网络技术有限公司怎么样 人脸识别技术算网络安全领域的吗 数据库类型及特点的简单介绍 数据库基础与应用第三版刘卫国 群社区软件开发 关于网络安全征文600字 常州智慧医院软件开发 网络安全类的论坛 江苏浪潮服务器维修哪家好 北京培训软件开发平台 承德致诚网络技术 通用汽车公司数据库 zaoapp网络安全 河南网络安全宣传日 东城区技术软件开发平台 c 软件开发需要哪些知识 九天网络技术服务部 合约跟单社区软件开发 hana数据库表存在哪里
0