JavaScript 中正则表达式的解释 什么是正则表达式?
正则表达式:用于匹配字符串中的字符组合的模式。 在javascript中,正则表达式也是对象正则表达式的作用?
匹配(验证表格√)
替换(过滤敏感词)
提取(从字符串中提取特定组件)创建正则表达式的两种方法
方法一:构造函数
技巧二:字面量
//方法一
var regexp = new RegExp(/123/); //正则表达式里面不需要加引号
console.log(regexp); // /123/
//方法二
var rg=/123/;
console.log(rg); // /123/
test()方法正则表达式javascript,检查正则表达式是否符合规范正则表达式javascript,返回值为布尔值
console.log(rg.test('abc')); //false
正则表达式预定义类
哪些是预定义的类?
预定义类是指各个常见模式的缩写形式
a.d——>[0-9]
b.D --> 不是 [0-9]
c.w——>[A-Za-z0-9_]
d.W --> 不是 [A-Za-z0-9_]
e.s——>[trnvf](空格、换行符、制表符)
f.S --> 非空格、换行符、制表
var reg1 = /d/;
console.log(reg1.test(0123)); //true
console.log(reg1.test('afaf')); //false
var reg2 = /D/;
console.log(reg2.test('ac;adk')); //true
console.log(reg2.test(14124)); //false
var reg3 = /s/;
console.log(reg3.test(' ')); //true
console.log(reg3.test('ad')); //false
正则表达式中的特殊字符
边界字符:^(以哪些开头)$(以哪些结尾)
字符类:[](表示有一系列字符可供选择,只要其中一个匹配即可)
范围符号:[-](从哪里到哪里)
否定:^
优先事项:{}
var rg = /abc/; //只要包含有'abc'字符串的都返回true,可以不连续
console.log(rg.test('adaaaaaabcad')); //true
console.log(rg.test('askfhlafjla')); //false
var rg1 = /^ki/; //以'ki'开头的字符串都返回true
console.log(rg1.test('ki')); //true
console.log(rg1.test('k1i123')); //false
var rg2 = /^jisoo$/; //必须是'jisoo'才能返回true
console.log(rg2.test('jisoo')); //true
console.log(rg2.test('jennie')); //false
console.log(reg.test('blackpinkjisoorose')); //false
var rg3 = /[abc]/; //只要包含有a或b或c的字符都返回true
console.log(rg3.test('qao')); //true
console.log(rg3.test('qiq')); //false
var rg4 = /^[abc]$/; //字符串里只有一个a或一个b或一个c才返回true
console.log(rg4.test('c')); //true
console.log(rg4.test('ca')); //false
var rg5 = /[a-z]/; //有a~z任意一个小写字母都可以返回true
console.log(rg5.test('afasgfhaiufhalhc;;;;;ai')); //true
console.log(rg5.test('AGKGUKYYGTK')); //false
var rg6 = /^[a-zA-Z0-9]$/; //有a-z或A-Z或0-9里任何一个字符都返回true
console.log(rg6.test('9')); //true
console.log(rg6.test('aa')); //false
var rg7 = /^[^a-zA-Z0-9]$/; //有a-z或A-Z或0-9里任何一个字符就返回false
console.log(rg7.test('+')); //true
console.log(rg7.test('a')); //false
var rg8 = /^abc{3}$/; //只是让c重复三次才返回true
console.log(rg8.test('abccc')); //true
console.log(rg8.test('abcc')); //false
var rg9 = /^(abc){3}$/; //把abc重复3次
console.log(rg9.test('abcabcabc')); //true
console.log(rg9.test('aaabbbccc')); //false
正则表达式中的量词
今天我学习了如何借助 JavaScript 正则表达式来验证表单。 这是我昨天学到的内容的总结。 我希望它对你和你自己有帮助。
正则表达式是由字符序列生成的搜索模式。 当您搜索文本数据时,您可以使用搜索模式来描述您要查询的内容。 正则表达式可以是简单的字符,也可以是更复杂的模式。
创建正则表达式
JavaScript 中的正则表达式由 RegExp 对象表示,可以通过两种方式创建。
1. 创建直接句型
var reg = /正则表达式主体/赋值参数(可选)
2. 构造函数创建
正则表达式的动态创建可以通过RegExp()构造函数来实现。 RegExp 的第二个参数是可选的。
新的正则表达式(模式[,标志])
RegExp(模式[,标志])
其中模式可以是字符串或常规文字。
文字字符
正则表达式中的所有字母和数字都按照字面意思进行匹配,其他非字母字符需要用反斜杠()作为前缀进行转接,比如n匹配换行符。 这些字符是字面字符。 这些字符是精确匹配的,每个字符只能匹配一个字符。
在正则表达式中,有些标点符号具有特殊含义,它们是: ^ $ 。 * + ? =! : | / ( ) [ ] { } 如果需要在正则表达式中匹配这些文字,则必须使用前缀 。
如果您不记得哪些标点符号需要反斜杠通配符,您可以在每个标点符号前添加反斜杠。
特点
如果不想匹配特定的字符而是想匹配某种类型的字符,则需要使用字符类。
可以通过将文字字符括在方括号内来形成字符类。 字符类与其包含的任何字符相匹配。 例如,[abc]可以匹配a、b、c中的任意字符。
使用 ^ 作为方括号中的第一个字符来定义否定字符集,该字符集匹配所有未包含在方括号中的字符。 [^]可以匹配任意字符。
字符类可以使用连字符来表示字符范围。 例如,要匹配小写字母[az]javascript 正则表达式,可以使用[a-zA-Z0-9]来匹配任意字母和数字。
一些常用的字符类在 JavaScript 中具有特殊的转义字符来表达它们。
常见字符
[...] 方括号内的任何字符
[^...] 不在方括号内的任何字符
w 相当于 [a-zA-Z0-9_]
W 相当于 [^a-zA-Z0-9_]
s 任何 Unicode 空白字符
S 不是 Unicode 空白字符的任何字符
d 相当于 [0-9]
D 相当于 [^0-9]
[b] 退格文字,匹配退格 u0008
注意:与b不同,通配符也可以出现在方括号中,如[ds]表示匹配任意空白字符或数字。
重复字符
当一个模式需要多次匹配时,正则表达式提供了表示重复的正则句模式。
{n,m} 与前一项匹配至少 n 次,但不超过 m 次
{n,} 与前一项匹配至少 n 次
{n} 与前一项匹配 n 次
? 匹配前一项0次或1次,相当于{0,1}
+ 匹配前一项1次或多次,相当于{1,}
* 匹配前一项0次或多次javascript 正则表达式,相当于{0,}
选择、分组和参考选择
人物| 用于分隔模式以供选择。 匹配时,它会尝试从左到右匹配每个组,直到找到匹配项。 例如,/ab|bc|cd/ 可以匹配字符串“ab”、“bc”和“cd”。
团体
括号将各个术语分组为子表达式,以便可以将单元内的术语视为带有 |、*、+ 或 ? 的单个单元。
引用
括号表达式的另一个用途是允许上面的子表达式与相同的正则表达式一起引用。 它是通过在前面添加一个数字来实现的。 n 表示第 n 个带括号的子表达式。 指示对与前一个表达式匹配的文本的引用。 由于子表达式可以嵌套,因此根据子表达式左括号的位置进行计数。