正则表达式修饰符(修饰符 可以在全局搜索中不区分大小写)

i(ignoreCase)执行对大小写不敏感的匹配

g (global)     执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)

m(multiline) 执行多行匹配

正则表达式模式

方括号用于查找某个范围内的字符

[abc]     查找方括号之间的任何字符

[^abc]  查找任何不在方括号之间的字符

[0-9]     查找任何从 0 至 9 的数字

[A-Z]    查找任何从大写 A 到大写 Z 的字符

[a-z]     查找任何从小写 a 到小写 z 的字符

[A-z]     查找任何从大写 A 到小写 z 的字符,即匹配所有的英文字母(不区分大小写)

[adgk]   查找给定集合内的任何字符

[^adgk] 查找给定集合外的任何字符

(red|blue|green) 查找任何指定的选项

(x|y)     查找任何以 | 分隔的选项

元字符是拥有特殊含义的字符

\uxxxx   查找以十六进制数 xxxx 规定的 Unicode 字符

.           查找单个字符,除了换行和行结束符之外的任意字符

\n        查找换行符

\f         查找换页符

\r         查找回车符

\t         查找制表符

\v        查找垂直制表符

(总结下面的这些元字符小写为查找是的情况,大写就为查找不是的情况)

\b         匹配单词边界

\B         匹配非单词边界

\w        查找单词字符,即匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]

\W        查找非单词字符,等价于[^A-Za-z0-9_]

\d         查找数字,即匹配一个数字字符,等价于[0-9]

\D        查找非数字字符,即除了数字之外的任何字符,等价于[^0-9]

\s         查找空白字符

\S        查找非空白字符

量词

n+       匹配任何包含至少一个 n 的字符串,即“ + ”  表示匹配前一项1次或多次,等价于{1,}

n-        匹配任何包含零个或多个 n 的字符串

n?        匹配任何包含零个或一个 n 的字符串,即“ ? ”  表示匹配前一项0次或1次,也就是前一项是可选的,等价于{0,1}

n*        匹配任何包含零个或多个n的字符串,即“ * ”  表示匹配前一项0次或多次,等价于{0,}

n{X}    匹配包含 X 个 n 的序列的字符串,即{n} 表示匹配前一项n次

n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串,即{n,m} 表示匹配前一项至少n次,但是不超过m次

n{X,}   匹配包含至少 X 个 n 的序列的字符串,即{n,} 表示匹配前一项n次,或多次

n$        匹配任何结尾为 n 的字符串," $ " 匹配字符串的结束

^n       匹配任何开头为 n 的字符串," ^ " 匹配字符串的开始

?=n      匹配任何其后紧接指定字符串 n 的字符串

?!n       匹配任何其后没有紧接指定字符串 n 的字符串

/.../       代表一段正则的开始和结束

转义字符方式

\    反斜杠,用于将上述具有特殊含义的符号转义成普通符号,例如你需要匹配$美元符号,而不是行尾,你可以写成“ \$ ”即可

RegExp 对象方法

exec      检索字符串中指定的值。返回找到的值,并确定其位置

用于检索字符串中的正则表达式的匹配。如果字符串中有匹配的值返回该匹配值,否则返回 null。如:

 <script>
var str="Hello world!";
//查找"Hello"
var patt=/Hello/g;
var result=patt.exec(str);
document.write("返回值: " + result);
//查找 "W3Cschool"
patt=/W3Cschool/g;
result=patt.exec(str);
document.write("<br>返回值: " + result);
</script>

这样子返回的在HTML输出的就是:

返回值: Hello
                                    返回值: nul

------------------------------------------------------------------------------------

test       检索字符串中指定的值。返回 true 或 false

 <script>
var str="Hello world!";
//查找"Hello"
var patt=/Hello/g;
var result=patt.test(str);
document.write("返回值: " + result);
//查找 "W3Cschool"
patt=/W3Cschool/g;
result=patt.test(str);
document.write("<br>返回值: " + result);
</script>

这样子返回的在HTML输出的就是:

返回值: true
                                    返回值: false

------------------------------------------------------------------------------------

search   检索与正则表达式相匹配的值的位置,返回数字,如果没有找到则返回-1

如:

 <p id="demo">单击显示查找的位置</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
var str="Visit W3CSchool!";
var n=str.search("W3CSchool");
document.getElementById("demo").innerHTML=n;
}
</script>

像这样的返回值n=6

-----------------------------------------------------------------------------------

match    找到一个或多个正则表达式的匹配,返回找到的值

可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,如:

 <p id="demo">单击按钮显示matches</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
var str="The rain in SPAIN stays mainly in the plain";
var n=str.match(/ain/g);
document.getElementById("demo").innerHTML=n;
}
</script>

像这样的最终显示输出的就是 ain,ain,ain

----------------------------------------------------------------------------------

replace  替换与正则表达式匹配的子串

用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,如:

 <p>单击按钮将段落中“Microsoft”替换成“W3CSchool”:</p>
<p id="demo">Visit Microsoft!</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
var str=document.getElementById("demo").innerHTML;
var n=str.replace("Microsoft","W3CSchool");
document.getElementById("demo").innerHTML=n;
}
</script>

这样子

Visit Microsoft!这个就会被改变为:Visit W3CSchool!

----------------------------------------------------------------------------------

split       把字符串分割为字符串数组

按照你所定义的方式将匹配的字符串分割成数组,如:

var str="How are you doing today?";
                                                           var n=str.split(" ");

这样返回的就是:[How,are,you,doing,today?]  按照所定义的空格将str里的值分割成了数组。

Javascript-正则表达式常用字符集及方法的更多相关文章

  1. JavaScript学习笔记- 正则表达式常用字符集及方法

    正则表达式修饰符(修饰符 可以在全局搜索中不区分大小写) i(ignoreCase)执行对大小写不敏感的匹配 g (global)     执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) m( ...

  2. javascript数组常用的遍历方法

    本篇文章给大家带来的内容是关于javascript数组常用的遍历方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前言 本文主要介绍数组常见遍历方法:forEach.m ...

  3. JavaScript中常用的字符串方法

    1. charAt(x) charAt(x)返回字符串中x位置的字符,下标从 0 开始. //charAt(x) var myString = 'jQuery FTW!!!'; console.log ...

  4. javascript 原生常用api 数组方法大全

     <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. JavaScript Array常用属性和方法

    Array的length属性可以通过赋值改变,但这样会导致Array原有的大小发生改变. var a = ["I", "Love", "You&quo ...

  6. JavaScript 中常用的 正则表达式

    这编文章我来整理了一些在 javascript 中常用的正则式希望能给大家带来一些开发的灵感 //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{ ...

  7. JavaScript常用对象的方法和属性

    ---恢复内容开始--- 本文将简单介绍JavaScript中一些常用对象的属性和方法,以及几个有用的系统函数. 一.串方法 JavaScript有强大的串处理功能,有了这些串方法,才能编写出丰富多彩 ...

  8. JavaScript之Number、String、Array常用属性与方法手册

    Number isFinite函数 Number.isFinite() 方法用来检测传入的参数是否是一个有穷数(finite number). 语法: Number.isFinite(value) 例 ...

  9. 来自极客头条的 15个常用的javaScript正则表达式

    摘要收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. Q ...

随机推荐

  1. 通过挂钩NtCreateSection监控可执行模块

    通过挂钩 NtCreateSection 监控可执行模块 在 Win32 中,我们使用 CreateFileMapping 来创建映射文件对象,函数原型如下: HANDLE CreateFileMap ...

  2. jeecms v9开发资料

    开发文档 . 系统架构概述 本系统核心架构为 FreeMarker+hibernate+Spirng 的 mvc 分层架构. 1.1 分层架构模型 img 1.2 数据流转模型 (前端) img . ...

  3. 群晖系统下btfs(占用5%)和ext4文件格式的硬盘占用和选择

    1个人感觉选择ext4就可以,毕竟重要数据会设置raid1 不重要的数据也不需要快照什么的 商用除外 对于一个4t的硬盘 实际容量3726G 使用ext4可用空间3666G,群晖 占用60G大概1.6 ...

  4. RocketMQ补偿方案架构设计

    RocketMQ作为消息中间件,在系统异步化架构中,应用非常广泛.但是我们在享用RocketMQ的同时,也不能百分百完全信赖它.一旦RocketMQ崩溃了,给我们业务带来的也将是毁灭性打击. 因此,我 ...

  5. js的事件的三个阶段,事件委托的原理

    DOM2级事件规定的事件流的三个阶段:捕获,目标,冒泡(IE8以及更早版本不支持DOM事件流); 事件流: IE:IE事件流是事件冒泡流  Netscape事件流是事件捕获流 IE事件流 叫做事件冒泡 ...

  6. mysql设置密码登录

    参考: https://blog.csdn.net/Light_Breeze/article/details/82070222 https://www.jianshu.com/p/d979df2791 ...

  7. [NOI2015] 软件包管理器【树链剖分+线段树区间覆盖】

    Online Judge:Luogu-P2146 Label:树链剖分,线段树区间覆盖 题目大意 \(n\)个软件包(编号0~n-1),他们之间的依赖关系用一棵含\(n-1\)条边的树来描述.一共两种 ...

  8. $cordovaNetwork 使用

    1 .安装插件 直接安装: cordova plugin add cordova-plugin-network-information 下载到本地安装: https://github.com/apac ...

  9. python 日记 day5 字典

    一.数据类型分为: 1.不可变数据类型:元组,bool,int,str (不可更改的又叫可哈希) 2.可变数据类型 :list,dict ,set   (可变的又叫不可哈希) 字典: 优点:1.可二分 ...

  10. Git同平台下多个账号配置

    在公司要使用公司和自己的两个账号都往GitHub上面提交,所以整理成笔记 具体配置项 StrictHostKeyChecking no UserKnownHostsFile /dev/null # 为 ...