javascript 正则表达式的简单操作

前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新! RegExp正则表达式是描述字符模式的对象。正则表达式用于对字符

前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!

RegExp

  正则表达式是描述字符模式的对象。

  正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。

修饰符

  • i ;  ignorCase 忽略大小写;
  • g ;  globle  全局匹配(如果没有g,则在匹配到第一个后停止,后面的就不管了);
  • m ;  mutiple  执行多行匹配;不太理解这个的用法

方括号[]

  • [abc]; 查找集合范围内的字符;abc是泛指
  • [^abc]; 查找不在集合范围内字符;^在方括号内是"非"的意思;
  • [0-9]; 查找任何 0 到 9 的数字;
  • [a-z]; 查找任何 小写a 到 小写z 之间的字符;
  • [A-Z]; 查找任何 大写A 到 大写Z 之间的字符;
  • (abc); 查找任何指定的选项,当做一个整体;
  • |;或者的意思;必须用()包起来用;

元字符

  • . ;查找除换行和结束字符之外的任意字符;
  • \w;查找数字、字母及下划线;相当于[a-zA-Z0-9_];
  • \W;查找非(数字、字母及下划线);相当于[^a-zA-Z0-9_];
  • \d;查找数字;
  • \D;查找非数字;
  • \s;查找空白字符;
  • \S;查找非空白字符;
  • \b;匹配单词边界;
  • \B;匹配非单词边界;
  • 还有其他的...以后再说;

量词

  • n+;匹配至少有一个n;
  • n*;匹配任意个n;
  • n?;匹配0个或者1个n;
  • n{X};匹配X个n;一个字符串中的n的数量如果多于X个,那就只匹配到X个,后面的不管了;
  • n{X,};匹配至少X个n;
  • n{X,Y};匹配至少X个,最多Y个n;
  • ^n;以n开头,一般写为/^n/;
  • n$;以n结尾,一般写为/n$/;
  • ?=n;匹配任何紧跟其后为n的字符串;如 /is(?= apple)/; 字符串 "This is apple!" 匹配成功,但是查找的是 is apple,匹配的是apple前面的 is;
  • ?!n;匹配任何紧跟其后非n的字符串;如 /is(?!apple)/; 字符串"This is apple!"匹配成功,但是查找的是is !apple,匹配的是This的 is;

RegExp 对象方法

  • RegExpObject.test(string); 检索字符串中指定的值,返回 true 或 false;
  • RegExpObject.exec(string); 检索字符串中指定的值,以数组形式返回找到的值,并确定其位置;如果没找到返回null;

支持正则表达式的String对象的方法有:

  • stringObject.search(RegExpObject); 检索与正则表达式匹配的字符串;如果匹配成功,返回该字符首字母下标;如果没找到,返回-1;
  • stringObject.match(RegExpObject); 检索与正则表达式匹配的字符串;如果匹配成功,以数组形式返回字符;如果没找到,返回null;
  • stringObject.replace(RegExpObject,newString); 检索与正则表达式匹配的字符串;如果匹配成功,则用newString替换字符,并且产生新字符串(不会改变原字符串);
  • stringObject.split(RegExpObject,limit); 检索与正则表达式匹配的字符串;如果匹配成功,则用匹配的字符分割字符串,并且返回一个数组(原字符串不会改变);

 

您可能有感兴趣的文章
AJAX技术框架及开发工具

推荐15个最好用的JavaScript代码压缩工具

基于nodejs的雪碧图制作工具的示例代码

浅谈Node 调试工具入门好代码教程

9种使用Chrome Firefox 自带调试工具调试javascript技巧