南瓜不说话(M1)-正则表达式符号

普通字符:普通字符包括字母、数字、汉字、下划线、空格、回车等没有定义的特殊符号;

转义字符:一些书写不变的字符,采用在字符前加”\”的方式实现转义

特殊符号--修饰匹配次数
表达式 作用
{n,} 表达式重复匹配至少n次最多不限次
{n} 表达式重复匹配必须且仅n次
{n,m} 表达式重复匹配至少n次最多m次
* 表达式重复匹配零到无限次
+ 表达式重复匹配一到无限次
? 表达式重复匹配零到一次
例子
表达式 可匹配
-?\d+ 匹配一个整数
(-?\d+)(\.\d+)? 匹配一个小数
特殊符号--修饰匹配多种字符
表达式 作用
\s 匹配换行、制表、空格等空白字符
\d 匹配一个数字
\w 匹配一个数字、字母或下划线
. 匹配除换行符以外的任意一个字符
例子
表达式 匹配
\d\d 匹配”abc123”,第一次匹配匹配到”12”
a.\d 匹配”aaa10”,第一次匹配匹配到”aa1”
特殊符号-匹配字符集
表达式 作用
[]中包含一系列字符 匹配其所包含字符中的任意一个字符
[^]中包含一系列字符 匹配不在其所包含字符中的任意一个字符
例子
表达式 可匹配
[[email protected]] 匹配”a”或”b”或”c”或”7”或”@”字符
[^[email protected]] 匹配除”a”、”b”、”c”以外的任意一个字符
[f-h] 匹配”f”到”h”之间的任意一个字符
[^A-F0-9] 匹配除”A”到”F”和”0”到”9”之间的任意一个字符
特殊符号-具有特定抽象功能的符号
表达式 作用
^ 与字符串开始的地方匹配,不匹配任何字符
$ 与字符串结束的地方匹配,不匹配任何字符
\b 匹配一个单词边界,也就是单词和空格之间的位置,不匹配任何字符
例子
表达式 可匹配
^aaa 匹配”x aaa x”时不成功,^要求与字符串开始的位置匹配,只有当aaa位于字符串开始位置时才能匹配,如”aaa  x”,则会匹配成功
aaa$ 匹配”x aaa x”时不成功,$要求与字符串结束的位置匹配,只有当aaa位于字符串结束位置时才能匹配,如”x  aaa”,则会匹配成功
.\b 匹配 "@@@abc" 时,匹配结果是:成功;匹配到的内容是:"@a";匹配到的位置是:开始于2,结束于4
\bend\b 匹配 "weekend,endfor,end" 时,匹配结果是:成功;匹配到的内容是:"end";匹配到的位置是:开始于15,结束于18
特殊字符-可影响表达式内部关系
表达式 作用
| 左右两边表达式之间 "或" 关系,匹配左边或者右边
() (1). 在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰
(2). 取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到
例子
表达式 可匹配
tom|jack 匹配”tom and jack”,第一次匹配成功,结果是tom
(go\s*)+ 匹配”let’s go go go”第一次匹配成功,结果是”go go go”
$(\d+\.?\d*) 匹配”$10.9,¥20.5" ”第一次匹配成功,结果是”$10.9”
一些通用规则

1表达式中,可以使用 "\xXX" 和 "\uXXXX" 表示一个字符("X" 表示一个十六进制数)

形式 字符范围
\xXX 编号在 0 ~ 255 范围的字符,比如: 空格可以使用 "\x20" 表示
\uXXXX 任何字符可以使用 "\u" 再加上其编号的4位十六进制数表示,如 "\u4E2D"

2在表达式 "\s","\d","\w","\b" 表示特殊意义的同时,对应的大写字母表示相反的意义

表达式 可匹配
\S 匹配所有非空白字符("\s" 可匹配各个空白字符)
\D 匹配所有的非数字字符
\W 匹配所有的字母、数字、下划线以外的字符
\B 匹配非单词边界,即左右两边都是 "\w" 范围或者左右两边都不是 "\w" 范围时的字符缝隙

3在表达式中有特殊意义,需要添加 "\" 才能匹配该字符本身的字符汇总

字符 说明
^ 匹配输入字符串的开始位置。要匹配 "^" 字符本身,使用 "\^"
$ 匹配输入字符串的结尾位置。要匹配 "$" 字符本身,使用 "\$"
() 标记一个子表达式的开始和结束位置。
[] 用来自定义能够匹配 ‘多种字符‘ 的表达式。
{} 修饰匹配次数的符号。要匹配大括号,请使用 "\{"和\}"
. 匹配除了换行符(\n)以外的任意一个字符。要匹配小数点本身,使用 "\."
? 修饰匹配次数为 0 次或 1 次。要匹配 "?" 字符本身,使用 "\?"
+ 修饰匹配次数为至少 1 次。要匹配 "+" 字符本身,使用 "\+"
* 修饰匹配次数为 0 次或任意次。要匹配 "*" 字符本身,使用 "\*"
| 左右两边表达式之间 "或" 关系。匹配 "|" 本身,使用 "\|"
时间: 2024-10-06 14:38:11

南瓜不说话(M1)-正则表达式符号的相关文章

南瓜不说话(ZM0)-正则表达式学习实践计划目录

南瓜不说话(M0)-正则表达式介绍 南瓜不说话(M1)-正则表达式元字符 南瓜不说话(M2)-正则表达式字符转义 南瓜不说话(M3)-正则表达式重复 南瓜不说话(M4)-正则表达式字符类 南瓜不说话(M5)-正则表达式分支条件 南瓜不说话(M6)-正则表达式反义 南瓜不说话(M7)-正则表达式后向引用 南瓜不说话(M8)-正则表达式零宽断言 南瓜不说话(M9)-正则表达式负向零宽断言 南瓜不说话(M10)-正则表达式注释 南瓜不说话(M11)-正则表达式贪婪与懒惰 南瓜不说话(M12)-正则表达

南瓜不说话(M01)-正则表达式原理

文法 一个文法可以用一个四元来定义,G = {Vt,Vn,S,P} Vt:一个非空有限的符号集合,它的每个元素称为终结符号; Vn:一个非空有限的符号集合,它的每个元素称为非终结符号,并且Vt∩Vn=Φ; S∈Vn,称为文法G的开始符号; P是一个非空有限集合,它的元素称为产生式; 产生式是指,其形式为α→β,α称为产生式的左部,β称为产生式的右部,符号"→"表示"定义为",并且α.β∈(Vt∪Vn)*,α≠ε,即α.β是由终结符和非终结符组成的符号串; 开始符S必

南瓜不说话(Z1)-标题结构说明

\bA\B\d{0,} :南瓜不说话 \b B\B\d{0,} :代码优化.重构.软件发布 \b C\B\d{0,} :编程语言练习.基础知识.从可能到精通 \b D\B\d{0,} :数据结构和算法 \b E\B\d{0,} :Entity Framework技术.数据持久化 \b F\B\d{0,} :HTTP知识.服务器知识 \b G\B\d{0,} :公共可抽象模块.代码段 \b H\B\d{0,} :公共组件.核心组件研究学习 \b I\B\d{0,} :遇到的错误和改正方法 \b J

正则表达式符号解释表

字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "(". ^ 匹配输入字符串的开始位置.如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置. $ 匹配输入字符串的结束位置.如果设置了RegExp 对象的 Mul

正则表达式符号理解

正则表达式元字符表 元字符 描述 \ 将下一个字符标记符.或一个向后引用.或一个八进制转义符.例如,“\\n”匹配\n.“\n”匹配换行符.序列“\\”匹配“\”而“\(”则匹配“(”.即相当于多种编程语言中都有的“转义字符”的概念. ^ 匹配输入字符串的开始位置.如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置. $ 匹配输入字符串的结束位置.如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置. * 匹配前面的子表达

正则表达式符号解析

转自 http://www.cnblogs.com/yirlin/archive/2006/04/12/373222.html 正则表达式全部符号解释 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "(". ^ 匹配输入字符串的开始位置.如果设置了 RegExp

正则表达式符号

字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "(". ^ 匹配输入字符串的开始位置.如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置. $ 匹配输入字符串的结束位置.如果设置了RegExp 对象的 Mul

正则表达式--符号解释

注:只写了自己还不太熟悉或者不了解的部分 \b 匹配一个单词边界 \B 匹配一个非单词边界 \D 匹配一个非数字 \w  匹配包括下划线的任何单词字符 \W 匹配任何非单词字符 \xn 匹配n[其中n为十六进制转义值,正则表达式可以使用ASCII编码] \num 匹配num[其中num为正整数].对所获取的匹配的引用.例如,'(.)\1' 匹配两个连续的相同字符. 不懂(查阅后添加用例便于理解) \n  标识一个八进制转义值或一个向后引用 \nm 标识一个八进制转义值或一个向后引用 \nml 若

正则表达式符号解释

正则表达式全部符号解释 字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个 向后引用.或一个八进制转义符.例如,'n' 匹配字符 "n".'\n' 匹配一个换行符.序列 '\\' 匹配 "\" 而 "\(" 则匹配 "(". ^ 匹配输入字符串的开始位置.如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置. $ 匹配输入字符串的结束位置.如果设置了Re