正则

作者: 静小弟 | 来源:发表于2020-02-14 12:25 被阅读0次

修饰符

  • i:忽略大小写

  • g:全局匹配

  • m:mutiple lines多行搜索

方括号 []

查找某个范围内的字符

  • [abc]:查找方括号之间的任意字符

  • (abc):查找不在方括号之间的字符

预定义类

  • .:查找单个单词,除了换行和结束符

  • \w:查找单词

  • \d:查找数字

  • \s:查找空白字符

  • \n:查找换行符

\W \D \S 查找上面的相反

边界

  • ^:匹配以什么开始
  • $:匹配以什么结束
  • \b:单词边界
  • \B:非单词边界

量词

  • *:重复0次或更多

  • +:重复1次以上

  • ?:0次或1次

  • {n}:确定匹配n次,n是一个非负整数

  • {n,m}:最少匹配n次,最多匹配m次

方法

  • split(reg|string) 根据匹配到的内容进行split

  • match(reg) 返回匹配的内容

  • test(reg) 能否匹配出来,返回boolean

实践练习

  • 非贪婪模式?
// 在量词后面加上?
'12345678'.replace(/\d{3,6}?/g,'a')
// 'aa78',因为123,456各匹配了一次
  • 分组
// () 可以达到分组的功能
'a1bac1d1'.replace(/([a-z]\d){3}/g,'W')
// 'Wd1' 匹配到三个

// 分组后可以用$1来表示分组的内容
'2017-02-03'.replace(/({\d{4}-(\d{2})-(\d{2}))/g,'$2/$3/$1')
// '02/03/2017'
// 忽略分组,在分组内加上?:
'2017-02-03'.replace(/({\d{4}-(?:\d{2})-(\d{2}))/g,'$2/$1')
// '03/2017'
  • 零宽断言

    • 先行断言:exp(?=assert) 先从需要匹配的字符的最右端找到第一个断言中的表达式,然后在匹配其前面的表达式,若无法匹配则继续查找第二个ing 再匹配第二个 ing前面的字符串,若能匹配 则匹配
'a2*3'.replace(/\w(?=\d)/g,'W')
// 'W2*3'  先找到3,然后3前面的a2*继续进行匹配
  • 后发断言:exp(?<=assert) 与先行断言相反,从需要匹配的字符串的最左端找到第一个断言中的表达式,然后匹配其后面的表达式
'abcdefghi'.replace(/.*(?<=d)/,'W')
// "Wefghi" 先找到d,然后将d前面的内容替换成W
  • 负向前瞻正则:exp(?!assert)

对象属性

  • lastIndex: 是当前表达式匹配内容的最后一个字符的下一个位置
  • source: 文本类型的正则表达式

正则的方法

  • /reg/.text(str)
  • /reg/.exec(str)

字符串的方法

  • strr.search(/reg/)
    // 返回第一个匹配结果的索引值

  • str.match(/reg/g)
    // 如果没有全局标识g,那么match方法只能在字符串中执行一次
    // 如果没有找到匹配的文本,将返回null;否则返回一个存放匹配文本信息的数组

  • str.replace(/reg/)

把平时看到的文章摘录下来,可能会跟原作者很大的雷同

相关文章

  • java正则使用

    正则切割 正则捕获 正则完全匹配

  • regexp 正则包

    正则对象 正则使用都是通过创建对应的正则对象,调用对象方法所实现。 新建正则对象 正则对象属性方法 正则方法 一般...

  • 个人书画作品之四

    写楷心得 字正则心正,心正则人正,人正则德正,德正则身正, 身正则形正,形正则意正, 意正则气正,一气化三清。 ...

  • 第七天正则表达式

    正则表达式的理念: 正则的使用方法: 正则里string两个方法: 使用正则找字母的几种写法: 正则的转义: 正则...

  • 心正笔正

    心正则意正!心正则身正! 心正则言正!心正则行正! 心正则笔正!心正则字正! 心正则并勤!勤尽则字成! 心清则目明...

  • git一次删除多个文件

    正则 非正则

  • day17-正则表达式

    正则表达式符号含义 通配符与正则区别? 正则表达式中注意事项 正则表达式分类: 基本正则(BRE) ※ 扩展正则表...

  • Js正则匹配常用案例

    1 用户名正则 2 密码强度正则 3 整数正则 4 数字正则 5 Email正则 6 手机号码正则 7 身份证号正...

  • 前端表单验证常用的15个JS正则表达式

    1.用户名正则 2 密码强度正则 3 整数正则 4 数字正则 5 Email正则 6 手机号码正则 7 身份证号正...

  • 2019-06-15 JS

    email正则, url正则

网友评论

      本文标题:正则

      本文链接:https://www.haomeiwen.com/subject/yuddfhtx.html