美文网首页
正则的学习

正则的学习

作者: 黄小猛 | 来源:发表于2017-03-28 11:24 被阅读0次

常用简单元字符

 \bhi\b   \b是用来匹配单词的 匹配两个b之间的单词
 \. 匹配换行符以外任意的字符
 \w 匹配任意字母,数字,下划线
 \s 匹配任何空白字符串, 等价[\f\n\r\t\v]
 \d 匹配数字
 \un 匹配n,其中n是一个用四个十六进制数字表示的Unicode字符

限定符

  * >= 0 次
  ? 0次或1次
  + >=1次
  {n} 出现n次
  {n,} >=n次
  {n, m} 重复n到m次,包括n和m

“非”语义

 \W 大写W,匹配任意不是字母、数字和下划线的字符
 \S 大写S, 匹配任意不是空白字符的字符
 \D 匹配任意非数字字符
 \B 匹配不是单词开始或结束位置
[^aeiou] 匹配除了aeiou这5个字符以外的字符

"或"语义

  [aeiou] 方括号,aeiou字符中任选一个,方括号可以理解为从方括号里的字符中任选一个
  | 竖线,竖线前后任一正则满足即可,语义类似编程语言的逻辑“或”(短路?)

断言

  ^ 匹配字符串开始的位置
  $ 匹配字符串结束的位置

(?=exp) 匹配一个位置,要求这个位置后面能匹配表达式exp
(?!exp) 匹配一个位置,要求这个位置后面不能匹配表达式exp

想表达"或"的意思 ------ 字符簇和分歧

    [abc]表示 a、b、c这三个字符中的任意一个  
    [b-f]表示从b到f这么多字符中任选一个

括号的三个作用

1、括号的第一个作用 ---- 把分组当作一个整体看待
2、分组匹配到的内容也就是这个分组捕获到的内容,从左往右,以左括号为标志,每个分组会自动拥有一个从1开始的编号,分组捕获到的内容可以通过\分组编号的形式进行后向引用。 (ab|cd)123\1 -- \1就是后向引
3、括号第三个作用,可以改变优先级

修饰符(匹配选项)

  加g修饰符  表示全局匹配
  加i修饰符   表示不区分大小写
  加m修饰符  表示多行模式 会改变^和$的行为

RegExp 上用来匹配提取的方法 ----- exec()

  var matches = pattern.exec(str);                 //接受一个参数:源字符串  结果数组,在没有匹配项的情况下返回null

RegExp上用来测试匹配成功与否的方法 ----- test()

  var result = pattern.test(str)                // 接受一个参数,源字符串 返回: 找到匹配项 返回true 没找到返回false

String类型上的模式匹配方法

  1、匹配捕获的match方法

   str.match(pattern)  => pattern.exec(str)

  2、 返回索引search 方法

  str.search(pattern) ==> 返回的是 pos  索引的位置

  3、查找并替换的replace方法

  str.replace(RegExp or String, String or Function);  
  第一个参数(查找)
  第二个参数(替换内容)

  第二个参数是一个函数

  在只有一个匹配项的情况下,会传递3个参数给这个函数:模式的匹配项、匹配项在字符串中的位置、原始字符串

  在有多个捕获组的情况下,传递的参数是模式匹配项、第一个捕获组、第二个、第三个...最后两个参数    是模式的匹配项在字符串位置、原始字符串

 这个函数要返回一个字符串,表示要替换掉的匹配项

转义

  前面加一个\ 表示转义

相关文章

  • 正则化总结

    什么是正则,为什么要正则 机器学习深度学习中的正则化(regularization)可以理解为模型的复杂度。我们希...

  • 5- 深度学习之神经网络核心原理与算法-正则化

    正则化 正则化是机器学习中一种常见的概念。正则化不仅在深度学习中有,在传统的机器学习中也有。 单纯从名字上不好理解...

  • java 正则表达式 简单入门

    java 正则表达式用法 最近学习编译原理,要用到正则表达式。本次要学习如何用java正则表达式。正则表达式:可以...

  • JavaScript正则技术

    一、JavaScript正则引入 ①-正则引入 今天我们学习的技术是正则表达式,在说正则表达式之前,我们需要知道的...

  • 机器学习中 L1 和 L2 正则化的简单介绍

    机器学习中 L1 和 L2 正则化的简单介绍 正则化作用 在机器学习中正则化的作用如下: 防止最终的模型过于复杂,...

  • 优秀网站收藏

    php学习的最好资源--QuorafreeCodeCamp正则表达式练习+学习程序员直播平台正则表达式学习chan...

  • 写正则表达式的正确姿势

    前言 上一篇文章我们学习了正则表达式原理,这次我们学习下怎么写正则表达式。这里,我们不会学习正则表达式的各种符号,...

  • L1正则化与L2正则化学习笔记

    本文是本人学习了相关机器学习课程后的一个关于L1正则化与L2正则化的学习笔记。 正则化 从上图1 可知,随着训练迭...

  • 正则的学习

    常用简单元字符 限定符 “非”语义 "或"语义 断言 想表达"或"的意思 ------ 字符簇和分歧 括号的三个...

  • 探究javascript中的正则表达式

    正则 小编自己也在学习正则,分享给大家一起学习,本篇文章适用于对正则还不是了解的初级选手,废(xia)话(che)...

网友评论

      本文标题:正则的学习

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