js正则表达式
作者:互联网
正则表达式是一个有规则的表达式,在很多语言中都有正则表达式,主要是用做表单验证的,简单的说就是一个用于查找的通配符
正则表达式创建
- 构造函数
var regex = new RegExp( 正则表达式字符串[, 匹配模式] );
2) 字面量
var regex = /正则表达式/;
/正则表达式主体/修饰符(可选)
正则表达式修饰符(可选)
i:执行对大小写不敏感的匹配。
g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m:执行多行匹配。
如:
var patt = /a/i
///a/i 是一个正则表达式。
//a 是一个正则表达式主体 (用于检索)。
//i 是一个修饰符 (搜索不区分大小写)。
使用字符串方法
在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。
字符串.search(‘指定的子字符串,或正则表达式相匹配的子字符串’) 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
replace(‘要替换的字符串或正则表达式’,‘替换字符串’) 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
基本元字符
1> . 表示任一个非换行的字符
案例: foot food foot写成 foo.
2> () 表示分组和提高优先级
3> [] 表示一个字符, 出现在 [] 中的字符
用法: [abc] 出现 [] 中的任意一个字符
匹配 a, 或 b, 或 c
foo[dt]
4> | 或
用法: 正则表达式|正则表达式
foot 或 food
foot|food
foo(t|d)
扩展:
. 任意的一个字符. 没有任何限制
[] 是出现在[]中的一个字符. 认为 . 的限制级版本
[abc]: a 或者 b 或者 c
| 可以认为是 允许使用多个字符的 匹配
a|b|c
aa|bb|cc
转义字符: \
表示点: \.
表示[]: \[ \]
表示(): \( \)
表示\ : \\
限定元字符
1> * 紧跟前面的一个字符或一组字符出现 0 次到多次
表示: 123333333 后面很多 3
正则: 1233*
123 0 次
1233 1 次
12333 2 次
...
1233333333333333333
1(23)*
表示:
1 0 次
123 1 次
12323 2 次
1232323 3 次
2> + 紧跟在前面的字符出现 1 次到多次
字符串: 123333333
正则: 123+
123
1233
12333
3> ? 紧跟在前面的字符出现 0 次或 1 次
在一段字符串中检查是否含有 http 协议的字符串或 https 协议的字符串
http://.+|https://.+
https?://.+
4 {数字} 紧跟在前面的字符出现指定次数
a{3} aaa
5 {数字,} 紧跟在前面的字符至少出现指定次数
a{3,} aaa, aaaaaaaaa, aaaaaaaaaaaaaa, ...
6 {数字, 数字} 紧跟在前面的字符出现的次数范围
a{1, 3} a, aa, aaa
首尾正则表达式
^ 表示必须以 xxx 开头
^a 必须以 a 开头的字符串
a 表示一个字符串中只要含有 a 就可以匹配
^a^a 非法的写法, ^ 如果是表示开头必须写在开头, 而且只能写一个
$ 表示必须以 xxx 结尾
a$ 必须以 a 结尾
分析 ^a+$
简写元字符
\s 空白字符, 包括空格, tab, 回车换行等
\S 非空白字符
js 中常常使用 [\s\S] 表示任意字符
\w 表示字符, 包含字母, 数字, 下划线.
\W 非字符
\d 数字
\D 非数字
否定元字符
语法:
[^字符]
不为这些字符的字符
[^abc] 不是 a 也不是 b 也不是 c 的字符
常用正则表达式
https://c.runoob.com/front-end/854
标签:表示,字符,匹配,正则表达式,js,紧跟,字符串 来源: https://blog.csdn.net/weixin_48549175/article/details/111402876