sed 正则表达式非贪婪替换?

2024-07-03

我知道另一个问题 https://stackoverflow.com/questions/1103149/non-greedy-regex-matching-in-sed这非常相似,但由于某种原因我仍然遇到问题。

我有一个 GC 日志,我正在尝试trim out所附的终身教职部分[].

63.544: [GC 63.544: [DefNew: 575K->63K(576K), 0.0017902 secs]63.546: [Tenured: 1416K->1065K(1536K), 0.0492621 secs] 1922K->1065K(2112K), 0.0513331 secs]

I apply s/\[Tenured:.*\]//

令人期待的是,结果被修剪了greedily通过该行的其余部分:

63.544: [GC 63.544: [DefNew: 575K->63K(576K), 0.0017902 secs]63.546:

所以让我们尝试不贪婪not将右括号与s/\[Tenured:[^\]]*\]//但可惜没有匹配,sed 跳过该行,产生相同的原始输出:

63.544: [GC 63.544: [DefNew: 575K->63K(576K), 0.0017902 secs]63.546: [Tenured: 1416K->1065K(1536K), 0.0492621 secs] 1922K->1065K(2112K), 0.0513331 secs]

我如何非贪婪地匹配和替换该部分?谢谢,


几乎: s/\[终身任职:[^]]*\]//

手册说:

要在列表中包含文字“]”,请将其作为第一个字符 (后面可能有“^”)。

即在这种情况下不需要反斜杠。

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

sed 正则表达式非贪婪替换? 的相关文章

  • Perl 电话号码正则表达式

    抱歉问这么简单的问题 我还是一个没有经验的程序员 我在工作中偶然发现了一些旧 Perl 代码中的电话号码匹配正则表达式 如果有人能准确解释它的含义 我的正则表达式技能严重缺乏 我会很高兴 if value space 0 9 0 9 spa
  • if ( $a == $b || $a == $c ) 语句的简写表达式

    我知道这段代码会起作用 echo a b a c Yes No 可以这样读 如果 a 等于 b 或 a 等于 c 有没有办法让它更短 例如 如果 a 等于 b 或 c 我已经尝试了很多 包括这个 但仍然没有运气 echo a b xor c
  • vi(m) 中的驼峰式下划线

    如果由于某种原因我想在 Vim 中选择性地将驼峰命名法转换为下划线分隔 我该怎么做呢 目前我发现我可以进行搜索 s a z A Z 并记录一个宏来添加下划线并转换为小写 但我很好奇是否可以用以下方法来做到这一点 s a z A Z 1 u
  • PowerShell - 正则表达式获取两个字符串之间的字符串

    我在正则表达式方面不是很有经验 你能告诉我如何从两个字符串之间获取字符串值吗 主题将始终采用以下格式 subject some other stuff 我需要找到之间的字符串 and 例如 完整字符串 Manhattan Project 输
  • 在 C# 中使用 Regex.Split 的多个分隔符

    假设您需要使用各种分隔符来分割字符串 包括换行符 r n 和一些其他 特殊 字符串 例如 This is a sample text that I would like to split into an array 我想在结果字符串数组中包
  • 导入错误:没有名为 simplejson 的模块

    我正在尝试运行命令在 Windows 笔记本电脑上安装 bespinclient 但每次执行该命令时python bootstrap py no site packages 我收到一条错误消息 导入错误 没有命名的模块 简单的json 我正
  • sed 用变量替换[重复]

    这个问题在这里已经有答案了 我想替换一行内容alpha pi 具有给定角度的正确计算值 以弧度为单位 即变量 n1 bin bash read p Angle in degrees n1 Convert angle to radians p
  • awk 如何找到带括号的变量的匹配项?

    我有一个文件some file txt 我想在其中找到匹配线name方括号内 必须完全匹配 因为某些单词可能会重复 例如foo在下面的例子中 文档内容如下所示 foo url foo Foo url bar Bar url fizz buz
  • 正则表达式替换“NO-BREAK SPACE”

    我正在寻找一个正则表达式来替换字符串中的 NO BREAK SPACE 有一些与 NO BREAK SPACE 相关的问题 但似乎没有一个问题能让我找到正确的答案 到目前为止 我尝试使用 字符串 AB 的第二个字符是不间断空格 但没有成功
  • .NET 垃圾收集行为(使用 DataTable 对象)

    我想知道为什么在创建一个非常简单的 DataTable 并将其设置为 null 后 垃圾收集不会清除该 DataTable 使用的所有内存 这是一个例子 变量 Before 应等于 Removed 但事实并非如此 long Before 0
  • R:需要用正则表达式替换不可见/重音字符

    我正在处理从具有不同区域设置的几台不同机器生成的文件 因此我最终得到了一列数据框 其中同一单词具有不同的文字 C RDOBA C RDOBA C RDOBA 我想将所有这些转换为CORDOBA 我试过做 t lt gsub O t igno
  • 名字和姓氏的正则表达式

    出于网站验证目的 我需要名字和姓氏验证 对于名字 它只能包含字母 可以是多个带有空格的单词 并且最少为 3 个字符 但最多为 30 个字符 不应验证空字符串 例如Jason jason 杰森 史密斯 杰森 史密斯 JASON 贾森 史密斯
  • 如何使用正则表达式检查 UTC 格式的日期?

    如您所知 格式如下 YYYY MM DDTHH NN SS ZZZ XX XX i e 2009 03 24T16 24 32 057 01 00 我必须在 ActionScript3 类中执行此操作 但任何来源将不胜感激 谢谢 d 4 0
  • 使用多个参数的 Nginx URL 重写

    我正在尝试通过 Nginx 重写以下 URL http www domain com script php title LONGSTRING desc LONGSTRING file LONGSTRING id THREELETTERS 变
  • PHP 正则表达式:按未转义分隔符分割

    我能够以格式分割字符串key value 使用以下代码 inside key1 value1 key2 value2 key3 value3 preg match all s inside pairs 我想做的是通过引入转义字符来允许值中出
  • 分割字符串而不考虑特殊字符

    我需要一种方法来每隔 n 分割一个字符串letters 例如 让s QW ERT ZU I O P and n 3 我想获得 QW E RT Z U I O P 可以看到 除法中不考虑特殊字符 我尝试过 strsplit s lt 10 p
  • PHP Regex,从文本中提取所有自定义标签

    简而言之 我需要从一段文本中提取大括号内的所有字符串 如下所示 这是一个 tag 但这里也是 tag 2 然后又是 tag 3 这里但周围有一些垃圾 我想获得一个标签数组 tag 2 和 tag 3 标签只能包含单词字符 我试过这个 tag
  • System V 和 Posix 信号量之间的差异

    使用 System V 和 Posix 信号量之间有何权衡 From O Reilly http www linuxdevcenter com pub a linux 2007 05 24 semaphores in linux html
  • 如何进入各个目录并执行命令?

    如何编写一个 bash 脚本来遍历 Parent directory 中的每个目录并executes a command in 每个目录 目录结构如下 parent directory 名称可以是任何内容 不遵循模式 001 directo
  • 如何将编译的正则表达式(std::regex)保存/序列化到文件?

    我在用着

随机推荐