美文网首页
正则表达式

正则表达式

作者: Hunter_Gu | 来源:发表于2016-12-21 23:46 被阅读11次

正则表达式:从固定字符串中,得到某种特征的字符串。

  • 定义一个正则表达式
  • 构造函数
   var pat = new RegExp('hello');
  • 字面量
   var pat = /hello/;

正则表达式是对象

typeof pat;//'object'
  • 正则的方法:

  • test(s) 检索字符串中是否包含指定值,返回true/false

    var pat = /hello/;
    var str = 'hello world';
    pat.test(str);//true
    pat.test('hel');//false('hel'中不包含'hello')
  • exec(s) 检索字符串中是否包含指定值,返回被找到的指定值的数组,否则返回null
    var pat = /hello/;
    var str = 'hello world';
    pat.exec(str);//['hello']
    pat.test('hel');//null('hel'中不包含'hello')
  • 字符串方法
  • search(pat) 检索在字符串中的位置,并返回;否则返回-1
    var str = 'hello world';
    var pat = /world/;
    str.search(pat);//6
  • replace(pat)
    var str = 'hello world';
    var pat = /world/;
    str.replace(pat,'man');//'hello man'
  • match(pat)
    var str = 'hello world';
    var pat = /world/;
    str.match(pat);//['world']
  • split(pat) 主要用于去除无意义的空格
var str = 'hello world   , oh I am'
var pat = /\s+/;
str.split(' ');//["hello", "world", "", "", ",", "oh", "I", "am"]
str.split(pat);//["hello", "world", ",", "oh", "I", "am"]

正则的用途:
1.一般用于校验
2.关键词的顾虑
3.内容的检测
4.模版替换

  • 全局匹配 和 忽略大小写

  • 全局匹配 /.../g

   var pat = /hello/g;
   var str = 'hello world hello day';
   str.match(pat);//['hello','hello']

否则:

   var pat = /hello/;
   var str = 'hello world hello day';
   str.match(pat);//['hello']
  • 忽略大小写 /.../i
   var pat = /hello/i;
   var str = 'HELLO world';
   str.match(pat);//['HELLO']
  • 正则的写法
  • 1 [0-9a-zA-Z]匹配0-9,a-Z,A-Z中的任意一个
  • 2 [^0-9a-zA-Z]匹配除0-9,a-Z,A-Z之外的元素
  • 3 '.' 匹配单个字符(除换行和行结束符)
  • 4 \w 查找单词字符(数字、字母、下划线)
  • 5 \W 查找非单词
  • 6 \d 查找数字
  • 7 \D 查找非数字
  • 8 \s 查找空白字符
  • 9 \S 查找非空白字符
  • 10 \b 查找单词边界
  • 11 \B 查找非边界
  • 12 \n 换行符
  • 13 n+ 匹配任何包含至少一个 n 的字符串
   var pat = /h+/;//包含一个或者多个h
  • 14 n* 匹配尽可能多的n(可以为0)(贪婪模式)
    var str = 'aa dd aab abb33abbb88abbbbb';
    var pat = /ab*/g;
    str.match(pat);//["a", "a", "a", "ab", "abb",  "abbb", "abbbbb"]
  • 15 n? 匹配尽可能少的n(非贪婪模式)
    var str = 'aa dd aab abb33abbb88abbbbb';
    var pat = /ab?/g;
    str.match(pat);//["a", "a", "a", "ab", "ab",  "ab", "ab"]
  • 16 n{X} 匹配 X 个 n
   var str = '100, 1000 or 10000';
   var pat = /\d{4}/g;
   str.match(pat);//['1000','1000'];
  • 17 n{X,Y} 匹配 X 或者 Y 个 n
   var str = '100, 1000 or 10000';
   var pat = /\d{3,4}/g;
   str.match(pat);//['100','1000','1000'];
  • 18 n{X,} 匹配至少 X 个 n
   var str = '100, 1000 or 10000';
   var pat = /\d{3,}/g;
   str.match(pat);//['100','1000','10000'];
  • 19 n$ 匹配以 n 为结尾
  • 20 ^n 匹配以 n 为开头

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

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