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

作者:jingxian 时间:2024-06-05 09:53:02 

用于模式匹配的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,模式匹配
0
投稿

猜你喜欢

  • pytorch tensor计算三通道均值方式

    2022-06-26 00:02:41
  • Oracle9i取得建表和索引的DDL语句

    2010-07-20 12:59:00
  • 对python csv模块配置分隔符和引用符详解

    2023-04-14 13:52:20
  • 不成熟的标准化是我们唯一惧怕的

    2008-08-15 18:55:00
  • Python学习之装饰器与类的装饰器详解

    2023-11-23 20:04:07
  • Python之lxml安装失败的解决

    2023-11-27 04:34:22
  • php引用返回与取消引用的详解

    2023-11-20 02:50:07
  • 详解MySql的慢查询分析及开启慢查询日志

    2024-01-18 12:56:56
  • Python编程实现二分法和牛顿迭代法求平方根代码

    2022-01-03 12:24:46
  • vim中tagbar配置以及打字时隐藏鼠标的方法

    2022-06-23 14:34:49
  • Python打印scrapy蜘蛛抓取树结构的方法

    2022-01-16 03:46:18
  • Python装饰器的应用场景代码总结

    2022-09-22 19:24:54
  • django中使用原生sql语句的方法步骤

    2023-06-29 16:36:07
  • Python利用pyHook实现监听用户鼠标与键盘事件

    2021-09-04 19:59:59
  • 优化MySQL数据库中的查询语句详解

    2024-01-21 06:17:06
  • 关于Go 空结构体的 3 种使用场景

    2024-05-22 17:45:21
  • MYSQL实现添加购物车时防止重复添加示例代码

    2024-01-15 01:44:15
  • Python基础之字符串常见操作经典实例详解

    2022-08-14 04:40:58
  • Python 序列化 pickle/cPickle模块使用介绍

    2021-04-28 17:23:21
  • 深入了解Golang中Slice切片的使用

    2023-09-25 08:59:08
  • asp之家 网络编程 m.aspxhome.com