JavaScript学习笔记整理_用于模式匹配的String方法_基础知识

用于模式匹配的String方法:

String支持4种使用正则表达式的方法:

seach()用于检索,参数是一个正则表达式,返回第一个与之匹配的子串的位置,找不到则返回-1,如果参数不是正则表达式,则首先会通过RexExp构造函数将它转换成正则表达式,seach()方法不支持全局搜索,它忽略修饰符g;

replace()用于检索与替换操作,第一个参数是一个正则表达式,第二个参数是要进行替换的字符串。它对调用该方法的字符串检索,按照模式匹配子串替换成第二个参数,若包含修饰符g则全文匹配。若第一个参数不是正则表达式而是字符串,则直接搜索替换掉这个字符串;

text.replace(/javascript/gi,'JavaScript')表示在text全文中搜索不区分大小写的javascript替换成JavaScript

如果用来替换的字符串中出现($加数字),则replace()方法将用与$加数字指代的子表达式匹配的文本来替换,如:

var quote = /"([^"]*)"/g

text.replace(quote,'“$1”'); 全文搜索与/"([^"]*)"/匹配的字符串,替换为“$1”(表示只改变两边的双引号为中文半角,而存储在$1中的内容不变)$1存储了指代与第一个左圆括号内的子表达式匹配的字符串;   

match() 唯一的参数是一个正则表达式,返回的是一个由匹配结果组成的数组,如果参数不是正则表达式,则首先会通过RexExp构造函数将它转换成正则表达式;

(二)如果这个正则表达式带修饰符g,match()返回的数组元素是匹配全文得到的所有字符串;

(二)如果这个正则表达式不带修饰符g,match()只检索第一个匹配,但他也返回一个数组(数组的第一个元素是匹配的整个字符串,接下来的元素是表达式中所有用圆括号括起来的子表达式匹配到的字符串,每个元素对应一个括号)

如:

var url = /(\w*):\/\/([\w.]+)\/(\S*)/;
  var text = 'http://www.w3school.com.cn/jsref';
  var result = text.match(url);
  if(result != null) {
  var fullurl = result[0];
  var protocol =result[1];
  var host = result[2];
  var path = result[3];
}

split()将字符串按参数指定的分隔符拆分为多个子串组成的数组,如:

'123,345,789'.split(','); //返回['123','345','789']

'1,   2  , 3, 4   ,5  ,  6'.split(/\s*,\s*/);  //返回['1','2','3','4','5','6']

以上就是小编为大家带来的JavaScript学习笔记整理_用于模式匹配的String方法的全部内容了,希望对大家有所帮助,多多支持~

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
string
,以便于您获取更多的相关知识。

时间: 2025-01-01 03:53:36

JavaScript学习笔记整理_用于模式匹配的String方法_基础知识的相关文章

JavaScript 学习笔记(九)call和apply方法_基础知识

call和apply方法 call方法可改变上下文this指针,类似的方法还有apply,主要用在js对象各方法互相调用的时候,使当前this实例指针保持一致,或在特殊情况下需要改变this指针. obj1.method1.call(obj2,argument1,argument2) 如上,call的作用就是把obj1的方法放到obj2上使用,后面的argument1-这些做为参数传入. 举一个具体的例子 复制代码 代码如下: function add(a, b) { alert(a + b);

JavaScript学习笔记整理_setTimeout的应用_基础知识

setTimeou的t应用 var ids = []; function foo1(i) { this.i = i; console.log('i = '+i); ids[0] = setTimeout((function () { foo1(i); }),1000); } function foo2(j) { this.j = j; console.log('j = '+j); ids[1] = setTimeout((function () { foo2(j); }),1000); } fo

正则表达式模式匹配的String方法_正则表达式

在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace.match.search等方法,以下是对一些方法使用的总结. String对象中支持正则表达式有4种方法,分别是:search.replace.match.split str.search(regexp) 定义:search()方法将在字符串str中检索与表达式regexp相匹配的字串,并且返回第一个匹配字串的第一个字符的位置.如果没有找到任何匹配的字串,则返回-1.

javascript学习笔记整理(概述、变量、数据类型简介)_基础知识

A.概述1.输出工具: document.write()---可以是html alert()---字符串 prompt(text,defaultText) text---可选.要在对话框中显示的纯文本(而不是 HTML 格式的文本). defaultText---可选.默认的输入文本. 2.js的放置 a.可以再HTML的任何位置放置 b.但他是一个整体,相互影响 c.在超链接和重定向的位置 <a href="javascript:alert();"></a>

JavaScript学习笔记整理_关于表达式和语句_基础知识

表达式和语句 eval( ) 只有一个参数 参数非字符串时,直接返回这个参数: 参数为字符串时,它把字符串当成JavaScript代码进行编译,编译失败则抛出语法错误,编译成功则执行代码,并返回最后一条语句的值,若没有值则返回undefined eval()使用了调用它的变量的作用域环境 它接收的字符串参数,在作为单独的代码时,必须是有语义的,否则编译失败 delete运算符:用来删除对象的自由属性.数组的元素, 删除属性后,属性将不存在,而删除数组元素后,会在数组内留下一个值为undefine

Javascript学习笔记之相等符号与严格相等符号_基础知识

Javascript 有两种方法来判断两种值是否相等. 相等符号 相等符号由两个等号组成: == Javascript 是弱类型语言.这就意味着相等符号为了比较两个值将会强制转换类型. 复制代码 代码如下: ""           ==   "0"           // false 0            ==   ""            // true 0            ==   "0"         

Javascript学习笔记之数组的遍历和 length 属性_基础知识

尽管数组在 Javascript 中是对象,但是不建议使用 for in 循环来遍历数组,实际上,有很多理由来阻止我们对数组使用 for in 循环. 因为 for in 循环将会枚举原型链上的所有属性,并且唯一阻止的方法是使用 hasOwnProperty 来判断,这将比普通的 for 循环要慢不少. 遍历 为了达到最佳性能来遍历一个数组,最好的方式就是使用经典的 for 循环. 复制代码 代码如下: var list = [1, 2, 3, 4, 5, ...... 100000000];

javascript学习笔记(十九) 节点的操作实现代码_基础知识

本节要用到的html例子 复制代码 代码如下: <ul id="myList"> <li>项目一</li> <li>项目二</li> <li>项目三</li> </ul> 1.创建元素节点 document.createElement() 方法 用于创建元素,接受一个参数,即要创建元素的标签名,返回创建的元素节点 复制代码 代码如下: var div = document.createEle

正则表达式模式匹配的String方法

在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace.match.search等方法,以下是对一些方法使用的总结. String对象中支持正则表达式有4种方法,分别是:search.replace.match.split str.search(regexp) 定义:search()方法将在字符串str中检索与表达式regexp相匹配的字串,并且返回第一个匹配字串的第一个字符的位置.如果没有找到任何匹配的字串,则返回-1.