Grep正则表达式查找可变长度字符串中的数字

2024-02-09

我需要某种方法来查找包含字符和数字的任意组合的单词,但是仅恰好 4 位数字,以及至少一个字符。

EXAMPLE:

a1a1a1a1        // Match
1234            // NO match (no characters)
a1a1a1a1a1      // NO match
ab2b2           // NO match
cd12            // NO match
z9989           // Match
1ab26a9         // Match
1ab1c1          // NO match
12345           // NO match
24              // NO match
a2b2c2d2        // Match
ab11cd22dd33    // NO match

要匹配 grep 中的数字,可以使用 [0-9]。要匹配数字以外的任何内容,可以使用 [^0-9]。由于可以是任意数量的字符或没有字符,因此您添加一个“*”(前面的任意数量)。所以你想要的是合乎逻辑的

(anything not a digit or nothing)* (any single digit) (anything not a digit or nothing)* ....

直到你有 4 个“任意一位数字”组。即 [^0-9]*[0-9]...

我发现 grep 长模式,特别是需要转义的长串特殊字符,最好慢慢建立,这样你就可以确定你明白发生了什么。例如,

#this will highlight your matches, and make it easier to understand
alias grep='grep --color=auto'
echo 'a1b2' | grep '[0-9]' 

将向您展示它是如何匹配的。一旦理解了每个部分,您就可以扩展该模式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Grep正则表达式查找可变长度字符串中的数字 的相关文章

随机推荐

  • Jsoup SocketTimeoutException:读取超时

    I get a SocketTimeoutException当我尝试使用 Jsoup 解析大量 HTML 文档时 例如 我得到了一个链接列表 a href www domain com url1 html link1 a a href ww
  • 将列添加到数据框,测试其他列中的分类变量

    我已经提到过 如何根据另一列的条件语句将因子列添加到数据框 https stackoverflow com questions 16570302 how to add a factor column to dataframe based o
  • 如何实现可重用的回调函数

    我对 JavaScript 相当陌生 我在 Node 中工作 这需要对异步编程和回调设计有很好的理解 我发现使用嵌入式函数非常容易 即使您的回调是多个级别的深度 您的嵌入式回调最终会成为闭包 但是 当您有多层回调 其中许多回调在执行路由上是
  • 为什么我的 Jasmine 规范认为我的 Angular 模块未定义

    为什么我的 Jasmine 规范认为我的 Angular 模块未定义 我在实际模块代码下方添加了一行代码 将布尔值设置为 true 然后我从规范中对其进行 console log 它指示 true 我还尝试更改模块 使其不是超范围 我的术语
  • ansible kubectl 等待节点就绪

    是否有任何现有的 ansible 模块可以用于以下用途 我可以等待kubectl get nodes STATUS Ready kubectl get nodes NAME STATUS ROLES AGE VERSION master1
  • 如何读取和处理(解析)命令行参数?

    在Python中 我们如何找到为脚本提供的命令行参数并处理它们 Related background reading What does sys argv 1 mean What is sys argv and where does it
  • 在位数组中有效查找“1”的位置

    我正在连接一个程序来测试一组电线的开路或短路情况 该程序在 AVR 上运行 将测试向量 步行 1 驱动到电线上并接收返回结果 它将所得向量与已存储在 SD 卡或外部 EEPROM 上的预期数据进行比较 这里有一个例子 假设我们有一组 8 根
  • 员工单独工作时间安排

    我有工作人员的时间清单 我需要查明是否有员工单独工作以及他们一天单独工作了多少分钟 staff start end 1 11 05 20 00 2 11 00 17 00 3 19 00 03 00 4 13 00 20 00 5 19 0
  • Selenium JavaScript - 将元素滚动到视图中而不与标题重叠

    webdriver executeScript arguments 0 scrollIntoView element 这会将元素滚动到视图中 但它位于页面标题的后面 如何将元素滚动到视图中 以便该元素位于标题正下方而不是标题后面 方法scr
  • 视频作为网站上的背景根据命令播放

    我一直在尝试将视频设置为背景 我有 flv 文件和 youtube 链接 使用 html5 视频标签或 jquery 将其放在我的网站上并不困难 但我找不到如何将它放在我的网站上但不能自动启动 我有一个半透明的矩形 文本将显示在其中 所以我
  • 为什么Android布局中的Fragment元素用小写的“f”书写?

    所有其他元素都以大写字母开头 例如RelativeLayout TextView 等 Fragment 元素始终用作
  • 具有 32/16 位除法的处理器上的 64/32 位除法

    我的处理器 http www microchip com wwwproducts Devices aspx dDocName en532298 一个没有 FPU 和整数数学的小型 16 位微控制器 只有 16 16 除法和 32 16 除法
  • 将输入传递给 Angular 2 中的嵌套组件

    如何将属性从包装组件透明地转换为嵌套组件 考虑到有 const FIRST PARTY OWN INPUTS const FIRST PARTY PASSTHROUGH INPUTS all attrs are passed Compone
  • Angular ui 引导程序未加载

    我从示例页面获取所有内容 基本上没有什么不同 控制器和 html 正文是从手风琴示例中纯粹复制粘贴的https angular ui github io bootstrap https angular ui github io bootst
  • 如何更改加载浏览器外 Silverlight 3 应用程序的背景颜色?

    在浏览器外运行 Silverlight 3 应用程序时 启动需要一点时间 但时间足够长 足以引起人们的注意 在此启动期间 托管应用程序的窗口的背景显示丑陋的白色背景颜色 在浏览器中运行时 我们有一个启动屏幕 但它当然是通过 JavaScri
  • 查找 bash 中第一列中每个不同值的第 n 列中的最大值

    我有一个 3 列文件 我想找到第三列的最大值 其中行与第一列相同 并且输出中还有第二列 Input 1 234 0 005 1 235 0 060 1 236 0 001 2 234 0 010 2 235 0 003 2 236 0 00
  • 在同一场景中加载新的 fxml

    我有 2 个 fxml 文件 布局 标题 菜单栏和内容 Anchorpane 它应该放置在其他 fxml 文件的内容中 我想知道如何从 Master 场景加载内容空间内的第二个文件 在 javaFX 中工作是一件好事还是加载新场景更好 我正
  • 如何显示视频路径中的视频缩略图?

    我想在 ImageView 中显示存储上视频路径的视频缩略图 是否有一个函数可以获取视频路径并返回缩略图的位图 我通过以下代码获取视频路径 public ArrayList
  • F# 可变列表为空

    当我尝试运行下面的代码时 属性为空 这是为什么 我为属性分配了一个空列表 但第一次通过循环时 它为空 这会导致它删除我附加到它的第一个值 我也不明白这一点 似乎与 null 连接的值应该是该值的列表
  • Grep正则表达式查找可变长度字符串中的数字

    我需要某种方法来查找包含字符和数字的任意组合的单词 但是仅恰好 4 位数字 以及至少一个字符 EXAMPLE a1a1a1a1 Match 1234 NO match no characters a1a1a1a1a1 NO match ab