Javascript-正则表达式常用字符集及方法
正则表达式修饰符(修饰符 可以在全局搜索中不区分大小写)
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-正则表达式常用字符集及方法的更多相关文章
- JavaScript学习笔记- 正则表达式常用字符集及方法
正则表达式修饰符(修饰符 可以在全局搜索中不区分大小写) i(ignoreCase)执行对大小写不敏感的匹配 g (global) 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止) m( ...
- javascript数组常用的遍历方法
本篇文章给大家带来的内容是关于javascript数组常用的遍历方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前言 本文主要介绍数组常见遍历方法:forEach.m ...
- JavaScript中常用的字符串方法
1. charAt(x) charAt(x)返回字符串中x位置的字符,下标从 0 开始. //charAt(x) var myString = 'jQuery FTW!!!'; console.log ...
- javascript 原生常用api 数组方法大全
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JavaScript Array常用属性和方法
Array的length属性可以通过赋值改变,但这样会导致Array原有的大小发生改变. var a = ["I", "Love", "You&quo ...
- JavaScript 中常用的 正则表达式
这编文章我来整理了一些在 javascript 中常用的正则式希望能给大家带来一些开发的灵感 //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{ ...
- JavaScript常用对象的方法和属性
---恢复内容开始--- 本文将简单介绍JavaScript中一些常用对象的属性和方法,以及几个有用的系统函数. 一.串方法 JavaScript有强大的串处理功能,有了这些串方法,才能编写出丰富多彩 ...
- JavaScript之Number、String、Array常用属性与方法手册
Number isFinite函数 Number.isFinite() 方法用来检测传入的参数是否是一个有穷数(finite number). 语法: Number.isFinite(value) 例 ...
- 来自极客头条的 15个常用的javaScript正则表达式
摘要收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. Q ...
随机推荐
- 洛谷P2471——[SCOI2007]降雨量
本机AC提交RE…… 传送门:QAQQAQ 题意:自己看 思路:据说这道题用RMQ做很快,但这道题线段树是可以的 线段树维护一段区间最左年,最右年,是否有间隙和区间最大值 这道题分类讨论是一大难点,主 ...
- 模板——AC自动机
传送门:QAQQAQ 定义nxt[u]=v表示从u开始不断沿着失配边跳到的第一个是标记点的端点v,那么我们再匹配时沿着last跳,每跳到一个last,它就一定对应一个模式串,所以效率是非常高的. 和K ...
- mtk 的conferrence call建立流程
(重点看main_log与) 抓mtk log: 1.*#*#82533284#*#* 进入抓log UI 2.*#*#825364#*#* 进入工程模式 3.进入"Lo ...
- Spring cloud config client获取不到配置中心的配置
Spring cloud client在配置的时候,配置文件要用 bootstrap.properties 贴几个说明的链接.但是觉得说的依然不够详细,得空详查. 链接1 链接2 链接3 原文地址:h ...
- 使用scrapy框架来进行抓取的原因
在python爬虫中:使用requests + selenium就可以解决将近90%的爬虫需求,那么scrapy就是解决剩下10%的吗? 这个显然不是这样的,scrapy框架是为了让我们的爬虫更强大. ...
- Ubuntu 16.04 安装STS
先将STS下载下来,网址是 https://spring.io/tools/sts/all ,然后将STS压缩包移动或者copy到想要放置的位置,比如, sudo cp spring-tool-sui ...
- 前端在本地启动服务预览html页面
在开发移动端项目时浏览器里出来的效果往往到真机上和预想的有出入,在开发过程中知道了一个可以在本地自己启动一个服务器在手机预览的办法. 1.首先在终端安装http. npm i http-server ...
- WIN32_FIND_DATA 详细结构(附循环读取文件代码)
//去除路径最后多余的斜杠和反斜杠 std::string TrimPath(std::string path) { //string test3("内容"); 使用引用字符数组作 ...
- 洛谷P3747 [六省联考2017]相逢是问候
传送门 题解 扩展欧拉定理. 线段树维护,已经全改到底了的节点就不管,不然暴力修改下去. //Achen #include<algorithm> #include<iostream& ...
- BZOJ 1933 [Shoi2007]Bookcase 书柜的尺寸
神奇的dp优化. 考虑6维状态的dp,分别表示三行高和宽,显然MLE&&TLE. 把高排个序,从大到小往架上放,那么若不是重开一行便对高度没有影响. 然后求出宽度的sum,dp[i][ ...