一、正则表达式的创建

  JS正则的创建有两种方式: new RegExp() 和 直接字面量。

        

//使用RegExp对象创建
varregObj
=newRegExp("(^\s+)|(\s+$)","g");
 
//使用直接字面量创建
varregStr =
/(^\s+)|(\s+$)/g;
  g 全文匹配,而非发现第一个匹配项时立即停止;
  i 忽略大小写
  m 多行匹配,
  多个条件同时使用时,写成:gmi

二、()、[]、{} 的区别

  () 提取匹配的字符串。表达式中有几个()就会得到几个相应的匹配字符串。比如 (\s+) 表示连续空格的字符串。

  [] 匹配字符范围。比如 [a-zA-Z0-9] 匹配英文字符和数字。

  {}匹配长度,比如: \s{3} 表示 匹配三个空格,\s{1,3}表示匹配1~3个空格。

三、^ 和 $

  ^ 匹配一个字符串的开头,比如 (^a) 就是匹配以字母a开头的字符串

  $ 匹配一个字符串的结尾,比如 (b$) 就是匹配以字母b结尾的字符串

  ^ 还有另个一个作用就是取反,比如:[^xyz] 表示匹配的字符串不包含xyz

  需要注意的是 :如果^出现在[]中一般表示取反,而出现在其他地方则是匹配字符串的开头

四、\d  \s  \w  .

  \d 匹配一个非负整数, 等价于 [0-9]

  \s 匹配一个空白字符

  \S 非空白字符

  [\s\S]  任意字符

  \w 匹配一个英文字母或数字,等价于[0-9a-zA-Z]

  .   匹配除换行符以外的任意字符,等价于[^\n]

五、* + ?

  * 表示匹配前面元素0次或多次,比如 (\s*) 就是匹配0个或多个空格

  + 表示匹配前面元素1次或多次,比如 (\d+) 就是匹配由至少1个整数组成的字符串

  ? 表示匹配前面元素 0次或 1次 ,相当于{0,1} , 比如(\w?) 就是匹配最多由1个字母或数字组成的字符串
 
六、()\数字:重复匹配
 
  \1表示重复正则第一个圆括号内匹配到的内容
  \2表示重复正则第二个圆括号内匹配到的内容
  比如有以下正则:
    ([a-z])([a-z])\2\1    //先[a-z]两次,匹配字母如a、b ,然后\2和\1分别代表b和a再重复一次,即最终匹配为abba类型的字符组合
  则可以匹配字符串abba
 
六、正则表达式 实例方法
 
  1、exec() 返回一个数组或者null 两个属性:index匹配的位置,input应用正则的字符串text
    var text ="some text";
    var pattern = /pattern1/gi;
    var c = pattern.exec(text);     //c是一个数组(第一个是匹配字符串pattern1,捕获组1,捕获组2.。。。)
    捕获组是()内的内容,如:c(at)?
    所以:c[0] = cat, c[1] =at;
 
  2.test()   返回true或者false
    var c = pattern.test(text);
  3.match() 可在字符串内检索指定的值,或者找到一个/多个正则表达式的匹配项
    text.match("str或者是Reg")
  如果reg没有指定g,则执行一次匹配,返回一个数组,第一个值为匹配值,其余为正则表达式的子表达式的匹配项。
  如果reg制定了g,则全局匹配,返回所有匹配项组成的数组。
  4.indexOf() 从左开始、lastIndexOf()从右开始       参数1:要查找的项      参数2(可选):查找起点
       ---Array方法---
  例:
    var a = [2,1,3];
    a.indexOf(4);     //-1
    a.indexOf(2);     //0

七、replace

   replace 本身是JavaScript字符串对象的一个方法,它允许接收两个参数:

   replace([RegExp|String],[String|Function])
 

   例:

   实现字符串的trim函数,去除字符串两边的空格

1
2
3
4
5
6
7
8
9
10
String.prototype.trim =function(){
 
//方式一:将匹配到的每一个结果都用""替换
returnthis.replace(/(^\s+)|(\s+$)/g,function(){
return"";
});
 
//方式二:和方式一的原理相同
returnthis.replace(/(^\s+)|(\s+$)/g,'');
};
 
  
  作者:没错high少是我                                                                                                                                                                                     
  出处:http://www.cnblogs.com/highshao/                                                                                                        
  本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。                             

最常用的~正则表达式-相关js函数知识简洁分享【新手推荐】的更多相关文章

  1. 使用正则表达式匹配JS函数代码

    使用正则表达式匹配JS函数代码 String someFunction="init"; Pattern regex = Pattern.compile("function ...

  2. 当页面提交时,执行相关JS函数检查输入是否合法

    当页面提交时,执行相关JS函数检查输入是否合法 关键代码 <form action="tj.php" method="post" onSubmit=&qu ...

  3. js函数知识

    1.函数基本知识 通过函数可以封装任意条语句,在任何地方调用,js中用function关键字来声明, //基本格式,函数名,传递参数,代码块 function functionName(arg0,ar ...

  4. PHP常用的数组相关处理函数

    [数组中常用的多种遍历方式] [for 和 foreach 略] [while() . list() .each() 组合循环遍历数组] each()函数 a. 需要一个数组作为参数 b. 返回来的也 ...

  5. PHP基础-常用的数组相关处理函数

    一 数组键/值操作有关的函数 1. array_values()//获取数组中所有的值 $lamp=array("os"=>"linux", " ...

  6. matlab 常用集合相关的函数

    Matlab常用的集合相关的函数如下:     union(A,B)              %求集合A和集合B的并集     intersect(A,B)             %求集合A和集合 ...

  7. js,JavaScript,a标签onclick传递参数不对,A标签调用js函数写法总结

    错误示例: <a href="javascript:waterLineEdit(${goods.goods_id})" >修改 </a> <!-- 浏 ...

  8. a标签中执行js函数

    在a标签中调用js函数最适当的方法推荐使用: 1.a href="javascript:void(0);" onclick="js_method()" 这种方法 ...

  9. js基础(常用语法、类型、函数)

    js函数集 ·字符串(String)  1.声明  var myString = new String("Every good boy does fine.");  var myS ...

随机推荐

  1. Java使用ZXing生成/解析二维码图片

    ZXing是一种开源的多格式1D/2D条形码图像处理库,在Java中的实现.重点是在手机上使用内置摄像头来扫描和解码设备上的条码,而不与服务器通信.然而,该项目也可以用于对桌面和服务器上的条形码进行编 ...

  2. python之GUI图形用户界面 2014-4-7

    #图形用户界面1.下载和安装wxPython2.创建并显示一个框架import wx #导入wxPythonapp=wx.App()win=wx.Frame(None)win.Show() #调用窗口 ...

  3. 接口测试工具-fiddler的运用

    本篇主要介绍一下fiddler的基本运用,包括查看接口请求方式,状态响应码,如何进行接口测试等 一.Fiddler的优点 独立的可以直接抓http请求 小巧.功能完善 快捷.启动就行 代理方便 二.什 ...

  4. Leetcode 212.单词搜索II

    单词搜索II 给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻&q ...

  5. [NOIP2008] 提高组 洛谷P1125 笨小猴

    题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最 ...

  6. [NOIP2007] 提高组 洛谷P1098 字符串的展开

    题目描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或者“4-8”的字串,我们就把它当作一种简写,输出时,用连续递增的字母获数 ...

  7. msp430入门编程03

    msp430的C标识符和关键字 msp430入门学习 msp430入门编程

  8. Linux下汇编语言学习笔记47 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  9. 动态链接 - dll和so文件区别与构成

    动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库.大多数操作系统将解析外部引用(比如库)作为加载过程的一部分.在这些系统上,可执行文件包含一个叫做import   directory的 ...

  10. 【转载】Spring Boot【快速入门】2019.05.19

    原文出处:https://www.cnblogs.com/wmyskxz/p/9010832.html   Spring Boot 概述 Build Anything with Spring Boot ...