概念:

正则:也叫做规则,让计算机读懂人类的规则;

正则都是操作字符串的;

写法:

简写:var re = //

双斜杠会被浏览器默认为注释,所以在里面添加需要操作的元素,例:var re = /a/

全称写法:var re = new RegExp(‘a’);

当正则需要传参的时候,一定要用全称的写法:

例参数为obj==>var re = new RegExp(obj)

方法:

1.test方法

概念:正则去匹配字符串,如果匹配成功则返回真,匹配失败则返回假

写法:正则.test(字符串)




2.search方法

概念:正则去匹配字符串,如果匹配成功则返回成功的位置,匹配失败则返回-1

写法:字符串.search(正则)




2.match方法

概念:正则去匹配字符串,如果匹配成功则返回成功的数组,匹配失败则返回null

写法:字符串.match(正则);





2.replace方法

概念:正则去匹配字符串,匹配成功的字符替换成新的字符串;

写法:字符串.replace(正则,新的字符串)

第二个参数可以是字符串,也可以是一个回调函数:

字符串.replace(正则,fn( str ){}

函数的第一个参数str,就是匹配成功的字符,是主项,后面的若有参数则依次为第一子项,第二子项...



匹配子项:小括号(),(还有另外一个意思:分组操作)

概念:正则整体为主项,左边第一个小括号里面的正则为第一个子项


在不加全局匹配g的情况下,match除了输出主项,还会把所有的子项输出来

正则中的默认:

1.匹配是区分大小写的; 如果不区分大小写就在正则后面加标识i(不区分大小写)

2.匹配成功就会结束,不会继续匹配; 如果想全部查找,就加标识g(全局匹配)

标识的添加位置:


逻辑符号:

| :正则中的或

字符类:

概念:一组相似的元素 []:中括号的整体代表一个字符,里面的元素是或的关系;

例:var re = /a[bcd]e/ ==> re = /abe/ || re = /ace/ || re = /ade/

排除:^ ^如果写在[]里面的话,代表排除的意思

范围:[a-z] [0-9] [a-z0-9]:都只代表一位

开始:^ 在正则的最开始位置,就代表起始的意思

结束:$ 在正则的最后的位置,就代表结束的意思

正则中的量词:

概念:出现的次数;

语法:{n,m}:至少出现n次,最多出现m

{n,}:至少n

{n} :刚好n

* = {0,} :任意次

? = {0,1} :零次或者一次

+ = {1,} :至少出现一次

例:

没有+’,全局匹配的时候把每一个数字单独的列出来

==>

+’,全局匹配的时候把挨着的单个数字作为一个数字输出来

==>


转义字符:

\n:换行; \r:制表; \t:回车;

\s:空格

\S:非空格

\d:数字

\D:非数字

\w:字符 (字母,数字,下划线)

\W:非字符

. :任意字符

\. :真正的点

\b:独立的部分(起始,结束,空格)

\B:非独立的部分

\number:重复的子项,number为数字,例\1表示重复的第一个子项;\2表示重复的第二个子项;依次类推

1

var str = abca’;

var re = /(a)(b)(c)\1/ ; 这里的\1就是第一个子项a,也就是说re = /(a)(b)(c)(a)/

re.test(str) ==>true

2

var re = /\w\w/ :这里的两个转义字符可以不一样 ==> cc 、 c9 、 99

var re = /\w\1/ :这里的\1必须和第一个\w的值一样,== > cc、 99 、 bb

即:/\w\w/ 不一定等于 /\w\1/

正则末尾跟随字母含义:

g:全局匹配


i:不区分大小写



更多相关文章

  1. NodeJS - 解析JSON(只有字符串或数字)
  2. 如何在JavaScript中对字符串排序
  3. JavaScript表单验证和正则表达式
  4. JSON.parse(xhr.responseText)意外的字符串错误
  5. 如何在url中将特殊字符作为查询字符串传递
  6. JS计算任意字符串宽度
  7. 如何在JavaScript中按大写和小写分割字符串?
  8. 【JavaScript 5—基础知识点】:正则表达式(笔记)
  9. 使用jackson json将属性添加到json字符串

随机推荐

  1. Android 查询天气源码分享
  2. 为Android内核添加hello world驱动并添加
  3. A06_RelativeLayout的属性设置
  4. Qt5.8开发Android:强制横屏
  5. android:imeOptions 控制软键盘右下角按
  6. Android 各类生命周期详解
  7. 玩转FragmentTabHost,实现底部导航栏
  8. Android与JavaScript方法相互调用!
  9. Android:CourseTableLayout — 好用的Andr
  10. Android 屏幕横竖屏切换