正则表达式基础
正则表达式
Regular Expression 使用单个字符串描述、匹配一系列符合某个句法规则的字符串
.
代表任意字符
+
代表一个或多个
()
可以对其分组,$1
可以获取分组的内容
\d
代表数字
{}
中可以写个数
[]
中的元素是或的关系
^
标示开头
$
表示结尾
\b
代表单词边界
var reg = / \bis\b /g; 匹配is字符
g
代表global 全局替换,不添加的话,搜索到第一个就匹配停止了
i
ignore case忽略大小写,默认大小写敏感
m
multiple lines多行搜索 将字符串中的换行符也当做一行
元字符
-
原义文本字符
例如: a b c
-
元字符
在正则表达式中有特殊含义的非字母字符
* + ? $ ^ . | \ () {} []
字符类
-
[] 来构建一个简单的类,所谓的类是指符合某些特性的对象,是一个泛指而不是特指某个对象
[abc]就是有其中的任意一个即可
-
字符类取反
加上^符号
[^abc]匹配abc以外的字符
范围类
- [a-z]来表示从a到z的任意字符
- 这是个闭区间 也表示a和z的本身
- 如果想匹配横线,可以直接在后边加一个 [a-b-]
js预定义类
字符 | 等价类 | 含义 |
---|---|---|
. | [^\r\n] | 除了回车和换行符以外的所有字符 |
\d | [0-9] | 数字字符 |
\D | [^0-9] | 非数字字符 |
\s | [\t\n\x0B\f\r] | 空白符 |
\S | [^\t\n\x0B\f\r] | 非空白符 |
\w | [a-zA-Z_0-9] | 单词数字(字母数字下划线) |
\W | [^a-zA-Z_0-9] | 非单词数字 |
边界
字符 | 含义 |
---|---|
^ | 以xx开始 |
$ | 以xx结束 |
\b | 单词边界 |
\B | 非单词边界 |
量词
字符 | 含义 |
---|---|
? | 出现零次或者一次(最多出现一次) |
+ | 出现一次或多次(至少出现一次) |
* | 出现零次或多次(任意次) |
{n} | 出现n次 |
{n,m} | 出现n到m次 |
{n,} | 至少出现n次 |
贪婪与懒惰模式
>'12345678'.replace(/\d{3,6}/,'X') .>"X78"
正则表达式默认会最多去匹配
想使用飞贪婪模式 在量词后加上?
即可
>'12345678'.replace(/\d{3,6}?/,'X') .>"X45678"
分组
beyond{3} 是把d出现三次 量词作用于紧挨着的单词
(beyond){3}整个单词出现了三遍
-
反向引用
>'2017-06-29'.replace(/(\d{4})-(\d{2})-(\d{2})/,'$3/$2/$1') .>"29/06/2017"
登录后复制将每个小括号中的内容作为一个对象,可以使用这个对象
-
忽略分组
如果不想捕获某个分组,在分组内加上
?:
即可
推荐教程:《JS教程》
以上是正则表达式基础的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP正则表达式验证:数字格式检测在编写PHP程序时,经常需要对用户输入的数据进行验证,其中一个常见的验证是检查数据是否符合指定的数字格式。在PHP中,可以使用正则表达式来实现这种验证。本文将介绍如何使用PHP正则表达式来验证数字格式,并提供具体的代码示例。首先,让我们看一下常见的数字格式验证要求:整数:只包含数字0-9,可以以正负号开头,不包含小数点。浮点

要使用正则表达式在Golang中验证电子邮件地址,请执行以下步骤:使用regexp.MustCompile创建一个正则表达式模式,匹配有效的电子邮件地址格式。使用MatchString函数检查字符串是否与模式匹配。该模式涵盖了大多数有效的电子邮件地址格式,包括:局部用户名可以包含字母、数字和特殊字符:!.#$%&'*+/=?^_{|}~-`域名至少包含一个字母,后面可以跟字母、数字或连字符顶级域名(TLD)不能超过63个字符长

在Go中,可以使用正则表达式匹配时间戳:编译正则表达式字符串,例如用于匹配ISO8601时间戳的表达式:^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$。使用regexp.MatchString函数检查字符串是否与正则表达式匹配。

Go语言作为一门现代化的编程语言,提供了强大的正则表达式和字符串处理功能,使得开发者能够更高效地处理字符串数据。掌握Go语言的正则表达式和字符串处理,对于开发者来说是非常重要的。本文将详细介绍Go语言中正则表达式的基本概念和用法,以及如何使用Go语言处理字符串。一、正则表达式正则表达式是一种用于描述字符串模式的工具,能够方便地实现字符串的匹配、查找和替换等操

PHP正则表达式:精确匹配与排除模糊包含正则表达式是一种强大的文本匹配工具,能够帮助程序员在处理文本时进行高效的搜索、替换和筛选。在PHP中,正则表达式也被广泛应用于字符串处理和数据匹配中。本文将重点介绍在PHP中如何进行精确匹配和排除模糊包含的操作,同时结合具体的代码示例进行说明。精确匹配精确匹配意味着只匹配符合完全条件的字符串,不匹配任何变种或包含额外字

Go中使用正则表达式验证密码的方法如下:定义正则表达式模式,符合最低密码要求:至少8个字符,包含小写字母、大写字母、数字和特殊字符。使用regexp包中的MustCompile函数编译正则表达式模式。使用MatchString方法测试输入字符串是否与正则表达式模式匹配。

正则表达式通配符有"."、"*"、"+"、"?"、"^"、"$"、"[]"、"[^]"、"[a-z]"、"[A-Z]"、"[0-9]"、"\d"、"\D"、"\w"、"\W"、"\s&quo

PHP是一种广泛应用的编程语言,特别在Web开发领域中非常流行。在Web开发过程中,经常会遇到需要对用户输入的文本进行过滤、验证等操作,其中字符过滤是一项十分重要的操作。本文将介绍如何使用PHP中的正则表达式来实现中文字符过滤的功能,并给出具体的代码示例。首先,我们需要明确一下中文字符的Unicode范围是从u4e00到u9fa5,即所有的汉字都处于这个范围
