一、什么是正则表达式
Regular Expression 使用单个字符串描述,匹配一系列符合某个句法规则的字符串;
简单的说就是按照某种规则去匹配符合条件的字符串。
(一)、通配符

.find./-name *.txt

正则表达式工具:http://regexper.com
**Regexp对象:**JS通过内置对象RegExp支持正则表达式,有两张方法实例化RegExp对象:字面量和构造函数

1. 字面量
var reg=/\bis\b/g;
2. 构造函数
var reg=new RegExp(‘\bis\b’,’g’);

(二)、修饰符

g : global 全文搜索,不添加,搜索到第一个匹配停止;

i : ignore case 忽略大小写,默认情况下大小写是敏感的;

m: multiple lines 多行搜索;

(三)、元字符

- 正则表达式由两种基本字符类型组成:原义文本字符和元字符;

- 元字符是在正则表达式中有特殊含义的非字母字符;

- * + ? ¥ ^ . | \ ( ) { } [ ]

java 正则验证ip js ip正则_元字符


(四)、字符类

  • 一般情况下,正则表达式的一个字符对应字符串的一个字符
  • 我们可以使用元字符[] 来构建一个简单的类,所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符,表达式[abc] 把字符a或b或c归为一类,表达式可以匹配这类的字符
  • 字符类取反
  • 使用元字符^创建反向类/负向类,反向类的意思是不属于某类的内容;

(五)、范围类

  • (六)、预定义类
  • (七)、量词
  • (八)、贪婪模式和非贪婪模式
  • 默认情况下,正则表达式是尽可能多的匹配;
  • 如果想要尽可能少的匹配;在两次后面加上?即可;
    (九)、分组
  • 使用()可以达到分组的功能,是量词作用于分组
  • 反向引用:
  • 忽略分组:在分组加上?:
    (十)、前瞻
  • 正则表达式从文本头部向尾部开始解析,文本尾部方向,成为前
  • 前瞻就是在正则表达式匹配到规格的时候,向前检查是否符合断言,后顾、后瞻方向相反
  • JS不支持后顾
  • 符合和不符合特定断言称为肯定、正向匹配和否定、负向匹配

(十一)、test()和exec方法
(十二)、字符串对象方法:search和match ,split和replaceb