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

news2024/11/24 20:48:39

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

在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代替[^>]+。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1828762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5.3.1_2 二叉树的层次遍历

&#x1f44b; Hi, I’m Beast Cheng&#x1f440; I’m interested in photography, hiking, landscape…&#x1f331; I’m currently learning python, javascript, kotlin…&#x1f4eb; How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…

17个关键方法指南,保护您的web站点安全!

了解如何让您的web应用程序或网站安全&#xff0c;对于网站所有者来说至关重要。以下是一些关键步骤&#xff0c;可以帮助您保护网站免受攻击和数据泄露。 1.使用公钥加密技术 当数据以明文形式传输时&#xff0c;它容易受到中间人 &#xff08;MitM&#xff09; 攻击。这意味…

System-Verilog 实现DE2-115流水灯

文章目录 一、 SystemVerilog1. SystemVerilog简介2. 基本语法和特性 二、实验过程hello.v文件引脚分配 三、实验效果参考 一、 SystemVerilog 1. SystemVerilog简介 SystemVerilog是一种高级的硬件描述语言&#xff08;HDL&#xff09;&#xff0c;它不仅继承了Verilog语言的…

SpringBoot实现的大文件上传

前言 大文件分片上传和断点续传是为了解决在网络传输过程中可能遇到的问题&#xff0c;以提高文件传输的效率和稳定性。 首先&#xff0c;大文件分片上传是将大文件分割成较小的片段进行上传。这样做的好处是可以减少单个文件的传输时间&#xff0c;因为较小的文件片段更容易快…

vcomp140.dll丢失原因与vcomp140.dll,无法继续执行代码的修复办法详解

vcomp140.dll 是一个动态链接库&#xff08;Dynamic Link Library&#xff0c;DLL&#xff09;文件&#xff0c;它在 Windows 操作系统中扮演着关键角色。该文件通常位于系统的标准目录 C:\Windows\System32 下&#xff0c;由微软公司开发并随特定版本的 Windows 或相关软件包一…

kubeadm快速部署K8S

目录 一、kubeadm安装K8S 1.1 环境准备 1.2 初始化配置 1.3 所有节点安装docker 1.3.1 安装依赖环境和docker 1.3.2 定义docker 配置文件 1.3.3 重启并开机自启docker 1.3.4 查看docker 是否配置成功 1.4 master、node01 、node02安装kubeadm&#xff0c;kubelet和kub…

CSS 实现个人资料卡

CSS 实现个人资料卡 效果展示 CSS 知识点 CSS 综合知识运用 页面整体布局 <div class"card"><div class"imgBox"><img src"./bg.jpg" /></div><div class"content"><div class"details&quo…

PCB设计简介

PCB电路板各层的含义 A. Signal And Plane Layers(S) 1. Signal Layers(信号层): 信号层主要用于布置电路板上的导线。Altium Designer提供了32个信号层&#xff0c;包括Top layer(顶层)&#xff0c;Bottom layer(底层)和32个内电层。 包括&#xff1a;Top layer(顶层),Bott…

PAT B1026. 程序运行时间

题目描述 要获得一个C语言程序的运行时间,常用的方法是调用头文件time.h,其中提供了clock(&#xff09;函数,可以捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。同时还有一个常数CLK_TCK——给出了机器时钟每秒所走的时钟打点数…

Harbor镜像中心搭建

文章目录 Harbor镜像中心搭建前置条件下载Harbor创建CA证书配置Harbor开始启动地址映射访问配置本地登录配置外部虚拟机访问 Harbor镜像中心搭建 Harbor是一个镜像中心&#xff0c;我们所熟知的DockerHub就是一个镜像中心&#xff0c;我们可以把我们打包的镜像放在镜像中心中供…

Proteus 新建工程

Proteus 新建工程 新建简单工程 首先在File工具栏中点击New Project&#xff0c;弹出新建工程向导程序(New Proteus Wizard) 填写工程名称与存储路径&#xff0c;选择New Proteus并点击Next进行下一步设置 我们不需要生成PCB文件&#xff0c;一路默认&#xff0c;点击Next即…

基于springboot实现火锅店管理系统项目【项目源码+论文说明】

基于springboot实现火锅店管理系统演示 摘要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装火锅店管理系统软件来…

篮球杯小白+强者

2. 宣读数字【算法赛】 思维题&#xff0c;注意到完全平方数的约数是奇数个&#xff0c;其余都是偶数个。 #include <bits/stdc.h>using namespace std;#define LL long long#define pb push_back#define x first#define y second #define int long long #define endl \n…

[240615] X-CMD 发布 v0.3.11,增加对 elvish 的支持

目录 X-CMD 发布 v0.3.11&#xff0c;增加对 elvish 的支持&#xff0c;并优化对 nushell&#xff0c;fish&#xff0c;xonsh&#xff0c;tcsh 的支持✨ co 模块 - copilot✨ elv 模块✨ hub X-CMD 发布 v0.3.11&#xff0c;增加对 elvish 的支持&#xff0c;并优化对 nushell&…

2024抖音电影奇遇夜沪上落幕,短视频宣发助力电影佳作被看见

6月14日&#xff0c;由抖音、央视电影频道联合举办的2024抖音电影奇妙夜在上海落幕。该活动以“在电影里遇见”为主题&#xff0c;邀请40个电影剧组、120多位影人嘉宾、30位抖音创作者共话光影。张艺谋、陈思诚、刘伟强、黄渤、吴镇宇、马丽、邓超、任贤齐、张家辉、倪妮、刘昊…

2078.两栋颜色不同且距离最远的房子

街上有 n 栋房子整齐地排成一列&#xff0c;每栋房子都粉刷上了漂亮的颜色。给你一个下标从 0 开始且长度为 n 的整数数组 colors &#xff0c;其中 colors[i] 表示第 i 栋房子的颜色。 返回 两栋 颜色 不同 房子之间的 最大 距离。 第 i 栋房子和第 j 栋房子之间的距离是 a…

Keil5新建工程详细讲解

一. 新建文件夹并拷贝库文件 新建project文件夹后建立4个子文件夹&#xff1a;startup&#xff0c;device&#xff0c;drivers&#xff0c;main 二. 新建mdk工程 1. 打开MDK软件&#xff0c;再点击Project->New uVision Project…新建一个工程&#xff0c;在弹出的对话框内…

MySQL日常问题-行列互换

问题 行列互换 场景1 行转换列 1、表结构和数据 /*Navicat Premium Data TransferSource Server : 本地Source Server Type : MySQLSource Server Version : 80027Source Host : localhost:3306Source Schema : schoolTarget Server Type :…

Javaweb9 AOP+案例

AOP Aspect Oriented Programming面向切片编程【就是面向特定方法变成】 SpringAOP是Spring框架的高级技术&#xff0c;旨在管理bean对象的过程中&#xff0c;主要通过底层的**动态代理机制&#xff0c;**对特定的方法进行编程 1.导入AOP依赖 2.编写AOP程序 加上Component//类…

二分查找-java代码实现(easy)

目录 一、问题描述 二、代码实现 三、刷题链接 一、问题描述 二、代码实现 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** 如果目标值存在返回下标&#xff0c;否则返…