正则

正则正则表达式是什么

正则表达式是用于字符串匹配的 (四个支持正则的方法 search 查找 下标 macth 查找 数组 split 切割

replace 替换)

正则表达式对象声明

1.new关键词声明

2.字符模板 声明 (*)

g 全局搜索

i 忽略大小写

正则对象的方法

exec 执行方法 他返回对应的执行对象数组 (没有匹配的返回null)

test 判断是否匹配 (boolean 匹配为true 不匹配为false)

正则表达式的使用

^ 开头

$ 结尾

[] 表示其中一个元素

{} 表示对应的个数 (相当于重复写n次)

var regx = new RegExp("a")

var regex = /a/gi

var regx = /^[abcdef]$/ //表示其中一个元素 a | b | c | d | e | f

var str = "a"

var str1 = "b"

var str2 = "c"

var str3 = "abc"

console.log(regx.test(str));//true

console.log(regx.test(str1));//true

console.log(regx.test(str2));//true

console.log(regx.test(str3));//false

var regx = /^[abc]{2}$/ //俩个元素

var regx1 = /^[abc]{2,3}$/ //俩个到三个

var regx2 = /^[abc]{2,}$/ //俩个或俩个以上

var str = "accc"

var str1 = "bc"

var str2 = "cb"

var str3 = "abc"() 分组 集成到一起

字母的表示

[A-Za-z]

数字的表示

[0-9]

\d 表示数字

\D 表示非数字

空白字符

\s 表示空白字符 空格回车制表符等

\S 表示非空白字符串

所有的字母数字加下划线 \w

\W 不是字母数字下滑线

console.log(regx.test(str));//false

console.log(regx.test(str1));//true

console.log(regx.test(str2));//true

console.log(regx.test(str3));//false

console.log(regx1.test(str));//false

console.log(regx1.test(str1));//true

console.log(regx1.test(str2));//true

console.log(regx1.test(str3));//true

console.log(regx2.test(str));//true

var regx = /^([ab][cd]){2}$/ //acac adad bcbc bdbd

var str = "abcd"

var str1 = "bbcc"

var str2 = "ab"

var str3 = "ad"

console.log(regx.test(str));//false

console.log(regx.test(str1));//false

console.log(regx.test(str2));//false

console.log(regx.test(str3));//false

//字母的表现 ascii码进行排序

var regx10 = /^[A-z]$/ //匹配大写的字母和小写的字母 另外包含对应的字符

var regx10 = /^[A-Za-z]$/ //匹配大写的字母和小写的字母

var regx11 = /^[0-9]$/ //匹配0-9的数字

// \d 小写表示这个东西 \D 大写表示不是这个东西

var regx11 = /^\d$/ //匹配0-9的数字

var regx12 = /^\D$/ //不是数字的内容

var regx16 = /\w/. 表示所有的内容

修饰符

+ 一个到多个相当于 {1,}

? 零个到一个 相当于 {0,1}

* 零个到多个相当于 {0,}

注意事项:点号在对应的[]中显示为. 而不是所有的内容 在对应的{} 后面不能直接接修饰符 如果要接先

要分组括起来

中文匹配的正则

[\u4e00-\u9fa5]

针对于上面的修饰符我们要将他变成对应的字符 转义符号 \

需要转义的内容 [] () {} . + ? / ^ $

捕获性分组 及 非捕获性分组 ?: 非捕获性 体现到对应的数组 exec执行完的数组里面(默认会捕获)

var regx15 = /./

// 匹配 (.) 使用\来进行转义

// 需要转义的内容 [] () {} . + ? / ^ $ ..

var regx = /\(\.\)/

console.log(regx.test("(.)"));//true

console.log(regx.test("a"));//false

var pattern = /(\d+)(?:[a-z])/; //一个或多个数字,和一个a-z的字母

var str = "123abc";

console.log(pattern.exec(str)); //"123a,123,a" //如果没有加上?: 就有a 加上了就没有了

你可能感兴趣的:(正则)