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学习笔记- 正则表达式常用验证
<div> <h1>一.判断中国邮政编码匹配</h1> <p>分析:中国邮政编码都是6位,且为纯数字</p> <div>邮政编码 ...
- Java程序猿的JavaScript学习笔记(9—— jQuery工具方法)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- JavaScript学习笔记-用于模式匹配的String方法
用于模式匹配的String方法: String支持4种使用正则表达式的方法: seach()用于检索,参数是一个正则表达式,返回第一个与之匹配的子串的位置,找不到则返回-1,如 ...
- JavaScript学习笔记-正则表达式(RegExp对象)
正则表达式(RegExp对象) 1.正则表达式字面量,在脚本加载后编译.若你的正则表达式是常量,使用这种方式可以获得更好的性能,重复使用时不会重新编译: 2.使用构造函数创建的RegExp,提供了 ...
- JavaScript学习笔记-正则表达式(语法篇)
正则表达式的模式规则是由一个字符系列组成的,包括所有字母和数字在内;大多数的字符(所有字母和数字)都是按字符的直接量来描述带匹配的字符;一些具有特殊语义的字符按照其特殊语义来进行匹配,有些字符需要通过 ...
- JavaScript学习笔记(1)字符串方法
字符串方法 length 属性返回字符串的长度 var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length; inde ...
- Java程序猿的JavaScript学习笔记(5——prototype和Object内置方法)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
随机推荐
- Java设计模式 - 代理模式
1.什么是代理模式: 为另一个对象提供一个替身或占位符以访问这个对象. 2.代理模式有什么好处: (1)延迟加载 当你需要从网络上面查看一张很大的图片时,你可以使用代理模式先查看它的缩略图看是否是自己 ...
- Linux系统管理命令之用户组管理
涉及的配置文件 /etc/group /etc/gshadow /etc/gshadow- 可用于还原 不同系统的备份文件名称不同:name-或name.old 命令: 添加用户组groupadd 组 ...
- 使用Tcmalloc进行堆栈分析
在前一篇译文<使用TCmalloc的堆栈检查>,介绍了Tcmalloc进行堆栈检查,今天翻译<heap-profiling using tcmalloc>,了解如何 TCmal ...
- 通过三张图了解Redux中的重要概念
上周利用业余的时间看了看Redux,刚开始有点不适应,一下在有了Action.Reducer.Store和Middleware这么多新的概念. 经过一些了解之后,发现Redux的单向数据里的模式还是比 ...
- Windows Azure支持七层负载均衡--Application Gateway
一直以来Windows Azure的负载均衡(Loadbalancer)功能一直被客户诟病,无法其竞争对手(特别是国内的云厂商)匹敌. Windows Azure的负载均衡器是四层的,前期的版本不支持 ...
- html特殊字符的html,js,css写法汇总
⇠ 箭头类 符号 UNICODE 符号 UNICODE HTML JS CSS HTML JS CSS ⇠ ⇠ \u21E0 \21E0 ⇢ ⇢ \u21E2 \ ...
- 扫盲 BT Sync——不仅是同步利器,而且是【分布式】网盘
先向大伙儿宣布个好消息-- 经过多位热心读者的大力支持,经过几天的努力,已经完成了"微软网盘"到"BitTorrent Sync"的迁移工作. 再次向这批热心读 ...
- AC日记——石头剪子布 openjudge 1.7 04
04:石头剪子布 总时间限制: 1000ms 内存限制: 65536kB 描述 石头剪子布,是一种猜拳游戏.起源于中国,然后传到日本.朝鲜等地,随着亚欧贸易的不断发展它传到了欧洲,到了近现代逐渐风 ...
- JavaScript RegExp 对象
JavaScript RegExp 对象 RegExp 对象用于规定在文本中检索的内容. 什么是 RegExp? RegExp 是正则表达式的缩写. 当您检索某个文本时,可以使用一种模式来描述要检索的 ...
- SQL触发器、事物
触发器: 触发器为特殊类型的存储过程,可在执行语言事件时自动生效.SQL Server 包括三种常规类型的触发器:DML 触发器.DDL 触发器和登录触发器. 当服务器或数据库中发生数据定义语言 (D ...