字符串匹配 正则表达式函数之match、test、exec、search、split、replace使用详解

简介: 字符串匹配 正则表达式函数之match、test、exec、search、split、replace使用详解

字符串匹配 正则表达式函数之match、test、exec、search、split、replace使用详解



// 1. Match函数
  // 原型:stringObj.match(regExp)
  // 原型:stringObj.match(regExp)
  // 返回值:如果没有使用g(全局匹配)选项,则返回第一个匹配的字符串、该字符串所在位置及原始字符串组成的数组,
  // 如果使用g选项,则返回所有匹配的字符串组成的数组
  var str = "aaabbbcccaaabbbccc";
  var reg = str.match(/aaa/)
  var reg2 = str.match(/aaa/g)
  console.log(reg)
  console.log(reg2)
  // 2.exec函数
  // 原型:regExp.exec(stringObj)
  // 使用指定的正则表达式模式去字符串中查找匹配项,并以数组形式返回,如果未查找到则返回null
  // 返回值:无论有无g选项,都返回第一个匹配的字符串、该字符串所在位置及原始字符串组成的数组,
  // 但是该方法可以返回子匹配项,是match所不能及的
  // 示例1: 
  var str = "aaabbbcccaaabbbccc";  
  var regExp = /aaa/ 
  var reg = regExp.exec(str)
  console.log(reg)
  // 示例2:
  var str = "aaabbbcccaaabbbccc";   
  var regExp = /aaa/g
  var reg = regExp.exec(str)
  console.log(reg)
  //  示例3:
  var str = "aaabbbccc1234aaabbbccc";
  var regExp = /ccc([0-9]+)aaa/
  console.log(regExp.exec(str))
  // 第一个表示整个正则表达式所匹配的内容;第二个表示()内容的子表达式所匹配的内容;第三个和第四个同上
  //  示例4:
  // var str = "daaabbbccc1234aaabbbcccaaabbbccc5678aaabbbccc"; 
  // var reg = /ccc([0-9]+)aaa/g;
  // var res = reg.exec(str) 
  // console.log(res)
  // 输出同示例三,因为exec只返回第一个匹配的字符串,如果想全部返回,则需要借助while循环和g参数来实现,如下   
  var str = "aaabbbccc1234aaabbbcccaaabbbccc5678aaabbbccc";   
  var reg = /ccc([0-9]+)aaa/g;  
    while(res = reg.exec(str)){
      console.log(res)
    }
    // 3.test函数
    // 原型:regExp.test(str)
    // 返回值:布尔类型,匹配则返回true,否则false
    // 示例1:
    var str = "aaabbbcccaaabbbccc"
    var reg = /[a-z]+/
    var res = reg.test(str)
    console.log(res)
    //  示例2: 
    var str = "aaabbbcccaaabbbccc"; 
    var reg = /[0-9]+/
    var res = reg.test(str)
    console.log(res)
    // 4.search函数
    // 原型:stringObj.search(regExp)
    // 返回值:返回第一个匹配的字符串所在的位置(偏移量),从0开始
    var str = "aaabbbcccaaabbbccc";   
    var reg = /ccc/;
    console.log(str.search(reg)) 
    // 5.replace函数
    // 原型:stringObj.replace(regExp, replaceText)
    // replaceText表示替换成该文本内容,replaceText也可以是返回字符串的一个函数
    var str = "aaabbbcccaaabbbccc";   
    var regExp = /aaa/g
    var res = str.replace(regExp,"111")
    console.log(res)
    // 5.split函数
    // 原型:stringObj.split([separator[, limit]])
    var str = "aaa,bbb,ccc"
    var reg = /,/
    var res = str.split(reg)
    console.log(res)
    // 示例2:
    var str = "aaa,bbb:ccc@ddd#eee";   
    var reg = /[,:@#]/;
    var res =  str.split(reg)
    console.log(res)
    // 示例3.   
    var str = "aaa,bbb:ccc@ddd#eee";  
    var reg = /[,:@#]/
    var res = str.split(reg,3)
    console.log(res)


目录
相关文章
|
6月前
|
JavaScript 前端开发 Java
正则表达式深度解析:匹配任意字符串
【4月更文挑战第1天】
3238 0
|
6月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
6月前
|
JavaScript 前端开发
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
用JavaScript正则表达式匹配对应字符串高亮显示,并过滤掉空格、<、>等HTML节点符号
|
6月前
|
算法 测试技术 C#
【动态规划】【字符串】C++算法:正则表达式匹配
【动态规划】【字符串】C++算法:正则表达式匹配
|
Python
133 python高级 - 正则表达式(原始字符串)
133 python高级 - 正则表达式(原始字符串)
48 0
|
1月前
|
JavaScript 前端开发 Java
如何使用这个正则表达式来验证一个字符串是否符合特定的格式要求?
如何使用这个正则表达式来验证一个字符串是否符合特定的格式要求?
|
1月前
|
Java API 索引
U4字符串以及正则表达式
【10月更文挑战第19天】在 Java 中,字符串是重要数据类型,支持多种操作如长度获取、字符访问、子串提取等。正则表达式提供强大的模式匹配和文本处理功能,通过 `Pattern` 和 `Matcher` 类实现。示例代码展示了如何使用正则表达式匹配单词字符。常用语法包括字符类、数量词、边界匹配和分组。
|
2月前
|
JavaScript 前端开发 Java
使用这个正则表达式来验证一个字符串是否符合特定的格式要求
使用这个正则表达式来验证一个字符串是否符合特定的格式要求
132 5
|
2月前
|
前端开发 C#
C# 一分钟浅谈:字符串操作与正则表达式
本文详细介绍C#中的字符串操作与正则表达式应用,涵盖字符串拼接、分割、查找及替换等基础操作,并通过实例讲解正则表达式的模式匹配、文本替换与分组捕获技巧。同时,文章还探讨了性能优化、复杂度管理和安全性等问题及解决策略,助你提升编程效率,应对实际开发挑战。
75 0
如何根据文件夹中文件,生成对应名字的图片,名称一样的路径,这里用到了变量,将集合定义在外面,字符串拼接,正则表达式截取.jpg文件
如何根据文件夹中文件,生成对应名字的图片,名称一样的路径,这里用到了变量,将集合定义在外面,字符串拼接,正则表达式截取.jpg文件