javascript-web APLs (六)
正则表达式
介绍
语法
const 变量名 = /表达式/
其中 / / 是正则表达式字面量
比如:
const reg = /前端/
regObj.test(被检测的字符串)
//如果正则表达式与指定的字符串匹配 ,返回true,否则false
//要检测的字符串
const str = 'IT培训,前端开发培训,IT培训课程,web前端培训,Java培训,人工智能培训'
//1.定义正则表达式,检测规则
const reg = /前端/
//2.检测方法
console.log(reg.test(str)) //true
regObj.exec(被检测字符串)
//如果匹配成功,exec() 方法返回一个数组,否则返回null
//要检测的字符串
const str = 'IT培训,前端开发培训,IT培训课程,web前端培训,Java培训,人工智能培训'
//1.定义正则表达式,检测规则
const reg = /前端/
//2.检测方法
console.log(reg.exec(str)) //返回的是数组
元字符
边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)
正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符
console.log(/二哈/.test('很二哈哈')) //true 只要包含 都是对的
//边界符 自变量.test()中test表判断
//^ 表示以谁开头
console.log(/^哈/.test('哈二')) //true 以哈开头
console.log(/^哈/.test('二哈')) //false
console.log(/^哈$/.test('哈')) //true 只有这种情况为true,否则都为false
console.log(/^哈$/.test('哈哈')) //false
量词 (表示重复次数)
量词用来 设定某个模式出现的次数
量词 * 类似于 大于等于0
console.log(/^哈*$/.test('')) //true
console.log(/^哈*$/.test('哈哈哈')) //true
console.log(/^哈*$/.test('哈二哈')) //false 允许只有哈出现,哈出现次数>=0,其他的都不行
量词 + 类似于 大于等于1
console.log(/^哈+$/.test('')) //false 要求哈的次数>=1
console.log(/^哈+$/.test('哈哈哈')) //true
console.log(/^哈+$/.test('哈二哈')) //false
量词 ? 类似于 0 或 1
console.log(/^哈?$/.test('')) //true
console.log(/^哈?$/.test('哈')) //true
console.log(/^哈?$/.test('哈哈')) //false
console.log(/^哈?$/.test('哈二哈')) //false
量词{n}写几,就必须出现几次
console.log(/^哈{3}$/.test('哈')) //false
console.log(/^哈{3}$/.test('哈哈哈')) //true
量词{n,}表示大于等于n
console.log(/^哈{3,}$/.test('哈哈')) //false
console.log(/^哈{3,}$/.test('哈哈哈')) //true
console.log(/^哈{3,}$/.test('哈哈哈哈')) //true
量词{n,m} 表示 >=n && <=m 注意:逗号左右两侧千万不能有空格
console.log(/^哈{3,4}$/.test('哈哈哈')) //true
console.log(/^哈{3,4}$/.test('哈哈哈哈')) //true
console.log(/^哈{3,4}$/.test('哈哈哈哈哈')) //false
字符类 (比如 \d 表示 0~9)
//只要中括号里面的任意字符出现都返回为 true
console.log(/[abc]/.test('a')) //true
console.log(/[abc]/.test('ab')) //true
console.log(/[abc]/.test('def')) //false
//当有精确匹配时 [abc] 只能含有一个 ,不能大于1
console.log(/[^abc$]/.test('a')) //true
console.log(/[^abc$]/.test('ab')) //false 如果想让其变成 true
//则
console.log(/[^acb{2}$]/.test('ab')) //true 细品
//字符类 [a-z] 只选一个
console.log(/^[a-z]$/.test('p')) //true
console.log(/^[a-zA-Z0-9]$/.test('p')) //true 里面只要是在范围内就是true,但只能有一个
[a-z] 表示 a 到 z 26个英文字母都可以
//扩展
腾讯QQ号: ^[1-9][0-9]{4,}$ (腾讯QQ号从10000开始)
修饰符
原文地址:https://blog.csdn.net/2301_80115241/article/details/143891056
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!