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

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

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

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

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

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

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

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

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

  • 最简单的写法 

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


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

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

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


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

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

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

const regex = /<([^>]+)>/g;
const str = 'Some text <data1> and more <data2 with spaces>';
let match;
 
while ((match = regex.exec(str)) !== null) {
  console.log(match[1]); // 这将打印出所有匹配的数据,不包括尖括号
}
这段代码会找到所有<和>之间的内容,并打印出来,不包括尖括号本身。如果你只想匹配不含空格的数据,可以使用\S代替[^>]+。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-17 09:56:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-17 09:56:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-17 09:56:04       87 阅读
  4. Python语言-面向对象

    2024-06-17 09:56:04       96 阅读

热门阅读

  1. Go Goroutine 究竟可以开多少?(详细介绍)

    2024-06-17 09:56:04       34 阅读
  2. Docker运行 Redis、Mysql、Nginx、MongoDB、Minio等

    2024-06-17 09:56:04       33 阅读
  3. Golang学习笔记01

    2024-06-17 09:56:04       21 阅读
  4. Springboot+分布式锁Redisson注解封装

    2024-06-17 09:56:04       27 阅读
  5. 第67集《摄大乘论》

    2024-06-17 09:56:04       24 阅读
  6. 【Ruby爬虫01】某吃瓜网站图片数据采集

    2024-06-17 09:56:04       35 阅读
  7. 2024.06.04 校招 实习 内推 面经

    2024-06-17 09:56:04       35 阅读
  8. 从C语言到C++(四)

    2024-06-17 09:56:04       29 阅读