【js学习笔记-062】用于模式匹配的String方法
来源:互联网 发布:手机知乎怎么收藏文章 编辑:程序博客网 时间:2024/05/17 09:34
本节只讨论与正则有关的方法和属性js的String支持4种使用正则表达式的方法。
search()
它的参数是一个正则表达式,返回第一个与之匹配的子串的起始位置,如果找不到匹配子串,它将返回-1.
如下面的例子返回4:
“JavaScript”.search(/script/i);
注意:如果参数不是正则,则首先会通过RegExp构造函数将它转换成正则表达式,search()不支持全局检索,因为它忽略正则表达参数中的修改符g。
replace()
用以检索与替换操作,其中第一个参数是一个正则表达式,第二个参数是要进行替换字符串。如果replace()的第一个参数是字符串而不是正则表达式,则replace()将直接搜索这个字符串,而不是像search()一样首先通过RegExp()将它转换为正则表达式。
之前学习过的子表达的位置,如果在替换字符串中出现了$加数字,那么replace()将用与指定子表达式相匹配的文本来替换这两个字符。
值得注意,第二个参数可以是函数,该函数能够动态地计算替换字符串。
match()
是最常用的 String正则表达式方法。它唯一参数就是一个正则表达式,返回的是一个由匹配结果组成的数组。如果该正则表达式设置了修饰符g,则该方法返回的数组包含字符串中的所有匹配结果。
如:”1 plus 2 equals 3”.match(/\d+/) //返回[“1”,”2”,”3”]
如果不使用修饰符g,该函数将只检索第一个匹配。总是返回一个数组。数组的第一个元素就是匹配的字符串,余下的元素则是正则表达式中用圆括号括起来的子表达式。因此如果match()返回一个数组a,那么a[0]存放的是完整的匹配,a[1]存放的则是与第一个圆括号括起来的表达式相匹配的子串,以此类推。为了和方法replace()保持一致,a[n]存放的就是$n的内容。如:
var url = /(\w+):\/\/([\w.]+)\/(\S*)/;
var text = “Visit my blog at http://www.example.com/~david”;
var result= text.match(url);
if(result!=null){
var fullurl = result[0]; //http://www.example.com/~david
var protocol = result[1]; //http
var host = result[2] ;//www.example.com
var path = result[3] ;//”~david”
}
注意给字符串的match方法传入一个非全局正则表达式,实际上和给这个正则表达式exec()方法传入字符串是一模一样的,它返回的数组带两个属性:index和input。
split()
该方法可以传入正则表达式,如指定分隔符,允许两边可以留有任意多个空白符
“1,2,3,4,5”.split(/\s*,\s*/); //[“1”,”2”,”3”,”4”,”5”]
- 【js学习笔记-062】用于模式匹配的String方法
- JS正则表达式学习之路:(二)用于模式匹配的String方法
- JavaScript:用于模式匹配的String方法
- js学习笔记:String中的模式匹配
- 正则表达式用于模式匹配的String方法
- 用于正则表达式模式匹配的String方法
- 犀牛——第10章正则表达式的模式匹配 10.2用于模式匹配的String方法10
- 用于模式匹配的RegExp方法
- JavaScript 用于模式匹配的 RegExp 方法
- JavaScript权威指南_88_第10章_正则表达式的模式匹配_10.2-用于模式匹配的String方法
- 【js学习笔记-016】-- 模式匹配
- 模式匹配学习笔记
- 数据结构学习笔记--串的模式匹配
- 浅析正则表达式模式匹配的String方法
- numpy学习笔记-用于布尔型数组的方法
- test() 方法用于检测一个字符串是否匹配某个模式.
- perl模式匹配学习笔记
- Scala学习笔记--模式匹配
- OGRE学习(1)
- 获取本地时间
- Mediator
- windows环境下tomcat部署的一些方法.
- Media Player Classic - HC 源代码分析 3:核心类 (CMainFrame)(2)
- 【js学习笔记-062】用于模式匹配的String方法
- web分页和优化
- 在linux服务器某文件夹下,使用鼠标进行copy,move,其实还是会在目录下留有name.txt~的临时文件
- opengl 开发笔记-环境配置
- 101
- 医保不用选也能报销的北京市医保定点专科和A类医院名单
- UIBUTTON 拉伸方法
- DB2中有关日期和时间的函数,及应用
- delphi API使用例子,日期时间等