RegExp

正则表达式

  • /pattern/attrs
  • new RegEx(pattern,attrs)
    /jerry/i i表示不区分大小写
    regexObj.test(str) 测试正则表达式与指定字符串是否匹配
    锚点:匹配一个位置
    • ^:起始位置
    • $:结尾位置
    • \b:单词边界
      字符类:匹配一类字符中的一个
    • . :任一字符(换行除外)
      元字符:具有特殊意义的字符
    • ^、$、\b
    • \d:0-9
    • \D:[^\d]
    • \s:空白符
    • \S:[^\s]
    • \w:[A-Za-z0-9_]
    • \W:[^\w]
      量词:出现的次数
    • {m,n}:m到n次
    • *:{0,}出现零到无穷多次
    • ?:{0,1}出现零次或者一次
    • +:{1,}出现一次或者多次
      转义符:需要匹配的字符是元字符
      多选分支
    • 或 | /thi(c|n)k/ === /thi[cn]k/
      /.(png|jpg|jpeg|gif)$/
      /^(.+)@(126|163|yahoo).com$/

屏幕快照 2016-08-08 下午4.52.42.png

捕获:保存匹配到的字符串,日后再用
- () :捕获
- (?:):不捕获
str.match(regexp);
str.replace(regexp/substr,replacement) 替换一个子串
var url='http://blog.163.com/album?id=1#comment';
var reg = /(https?:)//([/]+)(/[?])?(?[^#])?(#.*)?/;
var arr = url.match(reg);
var protocol = arr[1];
var host = arr[2];
var pathname = arr[3];
var search = arr[4];
var hash = arr[5];

var str = 'The price of tomato is 5.';
str.replace(/(\d+)/,'$1.00');
var str = 'The price of tomato is 5,the price of apple is 10.';
str.replace(/(\d+)/g,'$1.00');

regexpObj.exec()
更强大的检索功能

  • 更详尽的结果:index
  • 过程的状态:lastIndex
屏幕快照 2016-08-08 下午10.47.50.png

正则表达式的贪婪模式和懒惰模式,区别在于是否有量词?修饰,被量词?修饰则是懒惰模式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • '^'必须才开头开始匹配'$'必须在末尾结束匹配'|' 表示‘或’/ab|cd/匹配ab或者cd'.'表示点字符(...
    zjh111阅读 422评论 0 0
  • 正则表达式 描述字符串规则的表达式/pattern/attrs //直接量new RegExp(pattern,a...
    cooore阅读 826评论 0 1
  • 一、概述 正则表达式(regular expression)是一种表达字符串结构的方法,有点像字符串的模版,常常用...
    周花花啊阅读 601评论 0 1
  • 正则表达式(regular expression)是一种表达文本模式(即字符串结构)的方法,常常用作按照“给定模式...
    秋秋秋web阅读 273评论 0 0
  • 1.字面量字符和元字符 1.1字面量字符 大部分字符在正则表达式中,就叫做“字面量字符” /dog/匹配“old ...
    林立镇阅读 2,847评论 1 2