当前位置:   article > 正文

js 用正则表达式 匹配自定义字符之间的字符串数据,如:( )、[ ]、{ }、< >、【】等括号之间的字符串数据_js的正则怎么匹配符号之间的内容

js的正则怎么匹配符号之间的内容

要使用正则表达式匹配尖括号()之间的数据,可以使用以下代码示例:

在JavaScript中,你可以使用正则表达式来匹配括号()之间的数据。以下是一个简单的例子,它展示了如何使用正则表达式来获取两对括号之间的文本。

  1. // 示例字符串
  2. const str = "这是一个(示例)文本,我们要匹配括号里的内容。";
  3. // 使用正则表达式
  4. const regex = /\((.*?)\)/g; // 正则表达式解释:\( 匹配 '(',(.*?) 非贪婪匹配任意字符,\) 匹配 ')'
  5. let match;
  6. while ((match = regex.exec(str)) !== null) {
  7. console.log(match[1]); // 输出:示例, 文本
  8. }

这段代码会输出字符串中两对括号()之间的内容。正则表达式/\((.*?)\)/g的含义是:

  • \( 匹配字面量的左括号 (

  • (.*?) 是一个捕获组,用来捕获任意数量的任意字符,? 使其变为非贪婪模式,即尽可能少地匹配字符。

  • \) 匹配字面量的右括号 )

  • g 标志意味着搜索整个字符串以查找所有匹配项。

  • 最简单的写法 

    /\((.*?)\)/g.exec('评论总数(188)')[1]    //输出188


要使用正则表达式匹配括号[]之间的数据,可以使用以下代码:

  1. const str = "这是一个测试字符串[这是我想要的数据]还有其他内容";
  2. const regex = /\[([^\]]+)\]/;
  3. const match = regex.exec(str);
  4. if (match) {
  5. console.log(match[1]); // 这是我想要的数据
  6. } else {
  7. console.log("没有匹配到括号内的数据");
  8. }

这段代码使用了一个正则表达式/\[([^\]]+)\]/,它会匹配格式为[...]的字符串,其中[^\]]+负责捕获不包括]的一个或多个字符。match[1]包含了捕获组的内容,即[...]之间的数据。如果输入字符串中没有符合该格式的部分,则match会是null


要使用正则表达式匹配花括号{}间的数据,可以使用以下代码示例:

  1. const regex = /{([^}]+)}/g;
  2. const str = "Some text {data1} and more {data2}.";
  3. let match;
  4. while ((match = regex.exec(str)) !== null) {
  5. console.log(match[1]); // 这里会打印出 data1 和 data2
  6. }
这段代码定义了一个正则表达式/{([^}]+)}/g,它会匹配文本中花括号{}包围的内容。[^}]+表示匹配任何不是右花括号}的字符序列。( )是一个捕获组,用于捕获匹配的子字符串。exec方法在提供的字符串str上执行搜索,并在匹配时返回一个数组,其中match[1]包含了捕获组的内容。这个过程会一直重复,直到没有更多的匹配项为止。

要使用正则表达式匹配尖括号<>之间的数据,可以使用以下代码示例:

  1. const regex = /<([^>]+)>/g;
  2. const str = 'Some text <data1> and more <data2 with spaces>';
  3. let match;
  4. while ((match = regex.exec(str)) !== null) {
  5. console.log(match[1]); // 这将打印出所有匹配的数据,不包括尖括号
  6. }
这段代码会找到所有<和>之间的内容,并打印出来,不包括尖括号本身。如果你只想匹配不含空格的数据,可以使用\S代替[^>]+。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/818916
推荐阅读
相关标签
  

闽ICP备14008679号