前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则相关的知识分享

正则相关的知识分享

作者头像
步履不停凡
发布2019-09-11 16:01:09
4010
发布2019-09-11 16:01:09
举报
文章被收录于专栏:逸繁逸繁

正则:

概念:描述或匹配一系列符合某种规则的字符串

作用:数据验证 内容检索 内容替换 内容过滤

//创建正则对象 //通过实例化对象 letreg=newRegExp("正则表达式"+变量,"模式修正符") 模式修正符:g:global全局(下一次执行从上一次之后位置) i:不区分大小写m:可以换行 //通过字面量的方式 letreg=/ 正则表达式 /模式修正符 /为定界符正则对象的常用方法:

reg.test(str) 检测正则对象是否能够匹配str 返回true false

reg.exec(str) 检测正则对象是否能够匹配str 如果能匹配返回一个拥有特殊属性的数组,如果不能匹配返回null

正则表达式:

使用场景:1.正则对象 2.str.split(正则对象) 3.str.replace(正则对象,被替换的内容) 4.str.search(正则对象)

原子:正则表达式中最小的内容

\d 0-9

\w 数字字母下划线

\s 空白,\n,\r,\t

\D 除了0-9以外的字符

\W 除了数字字母下划线以外的字符

\S 除了空白,\n,\r,\t

原子表:[ ]

letreg=/[a-z]/g匹配小写字母 letreg=/[a-zA-Z]/g匹配所有字母

元字符:

. 所有的字符

| 或

原子组:() 原子组的内容会默认存储在内存中,在后面如果一模一样可以\1调用

letreg=/(山|陕)西/g letreg=/<div>box<\/div>/===letreg=/<(div)>box<\/\1>/ // \为转译字符 (?:xxx)不将xxx存储到内存中,并且不可调用

正则中的数量:

*:0个或多个

letreg=/\d*/g

+:1个或多个

?:0个或1个

{11}:11个 {15,18}:15到18个 {6,}六个或六个以上个

贪婪吝啬: *? 加问号将尽可能取多变成尽可能少取

边界判断:

^开始 $结束

letreg=/^\d{7}$/

\b 单词边界

\B 非单词边界

模式修正符:

g全局

i不区分大小写

m换行,多行

举例:

//正则汉字字母数字下划线返回bool

function isNotEmpty(str) {

var regex =newRegExp("^([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z]|[0-9]|[_]){1,10}$");

return regex.test(str);

}

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档