bash - 打印正则表达式捕获的分组
创始人
2024-11-25 10:31:51
0

要打印出bash中正则表达式捕获的分组,可以使用以下代码示例:

#!/bin/bash

# 定义一个字符串
string="Hello, World!"

# 定义一个正则表达式
pattern="([A-Za-z]+), ([A-Za-z]+)"

# 使用 =~ 运算符匹配正则表达式
if [[ $string =~ $pattern ]]; then
  # 使用 ${BASH_REMATCH[num]} 来访问捕获的分组
  echo "完整匹配: ${BASH_REMATCH[0]}"
  echo "第一个分组: ${BASH_REMATCH[1]}"
  echo "第二个分组: ${BASH_REMATCH[2]}"
else
  echo "未匹配到任何内容"
fi

在这个示例中,我们定义了一个字符串 Hello, World! 和一个正则表达式 ([A-Za-z]+), ([A-Za-z]+),它匹配一个逗号之前的单词和逗号之后的单词。使用 =~ 运算符,我们将字符串和正则表达式进行匹配。如果匹配成功,BASH_REMATCH 数组将包含匹配的内容。我们可以通过 ${BASH_REMATCH[num]} 访问捕获的分组,其中 num 是分组的索引。

运行上述脚本,将输出以下结果:

完整匹配: Hello, World!
第一个分组: Hello
第二个分组: World

如果正则表达式未匹配到任何内容,将输出 未匹配到任何内容

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...