正则表达式元字符
正则表达式语言由两种基本字符类型组成:原义(正常)文本字符和元字符。元字符使正则表达式具有处理能力。元字符既可以是放在 [] 中的任意单个字符(如 [a] 表示匹配单个小写字符 a ),也可以是字符序列(如 [a-d] 表示匹配 a 、 b 、 c 、 d 之间的任意一个字符,而 \w 表示任意英文字母和数字及下划线),
常见的元字符:
. 匹配除 \n 以外的任何字符(注意元字符是小数点)。
[abcde] 匹配 abcde 之中的任意一个字符
[a-h] 匹配 a 到 h 之间的任意一个字符
[^fgh] 不与 fgh 之中的任意一个字符匹配
\w 匹配大小写英文字符及数字 0 到 9 之间的任意一个及下划线,相当于 [a-zA-Z0-9_]
\W 不匹配大小写英文字符及数字 0 到 9 之间的任意一个,相当于 [^a-zA-Z0-9_]
\s 匹配任何空白字符,相当于 [ \f\n\r\t\v]
\S 匹配任何非空白字符,相当于 [^\s]
\d 匹配任何 0 到 9 之间的单个数字,相当于 [0-9]
\D 不匹配任何 0 到 9 之间的单个数字,相当于 [^0-9]
[\u4e00-\u9fa5] 匹配任意单个汉字(这里用的是 Unicode 编码表示汉字的 )
正则表达式限定符
上面的元字符都是针对单个字符匹配的,要想同时匹配多个字符的话,还需要借助限定符。下面是一些常见的限定符 ( 下表中 n 和 m 都是表示整数,并且 0
* 匹配 0 到多个元字符,相当于 {0,}
? 匹配 0 到 1 个元字符,相当于 {0,1}
{n} 匹配 n 个元字符
{n,} 匹配至少 n 个元字符
{n,m} 匹配 n 到 m 个元字符
+ 匹配至少 1 个元字符,相当于 {1,}
\b 匹配单词边界
^ 字符串必须以指定的字符开始
$ 字符串必须以指定的字符结束
说明:
1) 由于在正则表达式中“ \ ”、“ ? ”、“ * ”、“ ^ ”、“ $ ”、“ + ”、“(”、“)”、“ | ”、“ { ”、“ [ ”等字符已经具有一定特殊意义,如果需要用它们的原始意义,则应该对它进行转义,例如希望在字符串中至少有一个“ \ ”,那么正则表达式应该这么写: \\+ 。
2) 可以将多个元字符或者原义文本字符用括号括起来形成一个分组,比如 ^(13)[4-9]\d{8}$ 表示任意以 13 开头的移动手机号码。
3) 另外对于中文字符的匹配是采用其对应的 Unicode 编码来匹配的,对于单个 Unicode 字符,如 \u4e00 表示汉字“一”, \u9fa5 表示汉字“龥”,在 Unicode 编码中这分别是所能表示的汉字的第一个和最后一个的 Unicode 编码,在 Unicode 编码中能表示 20901 个汉字。
4) 关于 \b 的用法,它代表单词的开始或者结尾,以字符串“ 123a 345b 456 789d ”作为示例字符串,如果正则表达式是“ \b\d{3}\b ”,则仅能匹配 456 。
5) 可以使用“ | ”来表示或的关系,例如 [z|j|q] 表示匹配 z 、 j 、 q 之中的任意一个字母。
<!--EndFragment-->
相关推荐
本文件“正则基础之——NFA引擎匹配原理.rar”将深入探讨NFA的工作机制。 首先,我们需要理解NFA的基本概念。NFA是一种有向图,每个节点代表一个状态,边则表示状态间的转换。在NFA中,一个输入字符可以引发多个...
在这个"正则基础之——小数点"的主题中,我们将深入探讨小数点在正则表达式中的应用。 1. 小数点(`.`)的元字符含义: 在正则表达式中,小数点(`.`)是一个元字符,它代表任意单个字符,除了换行符。这意味着`.`...
本文件“正则基础之——捕获组(capture group)”将深入讲解正则表达式中的一个重要概念——捕获组,这是理解和运用正则表达式不可或缺的一部分。 捕获组是正则表达式中的一种机制,它允许我们将一个模式分隔成多...
正则基础之——NFA引擎匹配原理 在正则表达式中,了解引擎匹配原理是非常重要的。就像音乐家一样,一个人可以演奏出动听的乐曲,但是如果不知道如何去改变音符的组合,乐曲就不会变得更动听。同样,在使用正则...
千锋Web前端教程_78_正则基础语法
千锋Web前端教程_79_正则基础语法
千锋Web前端教程_80_正则基础语法
千锋Web前端教程_81_正则基础语法
正则表达式是一种强大的文本匹配工具,广泛应用于编程语言和各种文本处理场景中。正则表达式通过使用一系列特殊字符,即元字符,来定义复杂的搜索模式。这些元字符具有特殊的意义,如表示重复次数、选择、分组等。...
在正则表达式的世界里,贪婪与非贪婪模式是两种重要的匹配策略,它们决定了正则表达式在查找匹配时的行为。这两个概念对于任何想要深入理解正则表达式的开发者来说至关重要。 首先,我们来理解一下“贪婪”模式。...
javastript正则表达式基础 javastript正则表达式基础 javastript正则表达式基础
shell脚本-基础正则和扩展正则 基础正则元字符功能案例结果: 1. `.` : 匹配单个字符 - 例如:`/l.ve/` 可以匹配 `love`、`live` 等字符串 2. `[ ]` : 匹配括号内的任意单个字符 - 例如:`/l[Oo]ve/` 可以匹配 ...
vba正则表达式基础知识介绍,由浅入深,实例讲解
Python正则表达式基础是学习如何在Python中应用正则表达式的入门指南。正则表达式,或称为REs、regexes、regexpatterns,是能够嵌入到Python中的一个精细、高度专业化的程序语言。通过re模块,程序员得以使用这一...
一些细节 对于使用传统NFA引擎的大多数语言和工具,如Java、.NET来说,“.”的匹配范围是匹配除了换行符“\n”以外的任意一个字符。 但是对于javascript来说有些特殊,由于各浏览器的解析引擎不同,“.”的匹配范围...
下面,我们将详细分析在jQuery中可能用到的几种正则表达式的基础概念和应用。 首先,我们来看一个具体的正则表达式示例: ```javascript quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/; ``` 这个正则...
【Groovy正则表达式基础1】 Groovy是一种基于Java平台的动态编程语言,它扩展了Java的功能,包括对正则表达式的处理。在Groovy中,正则表达式是通过`~`运算符或者使用斜杠(`/`)来定义的。这种特性使得Groovy在处理...
以下是对正则表达式基础知识的详细解释: 1. **基础匹配**: - **基础匹配**:最简单的正则表达式就是你要匹配的文本本身,如"cat",可以匹配含有"cat"的字符串。 2. **句点符号(.)**: - **句点符号**:"....