gpt4 book ai didi

正则表达式将所有过去的特定模式更改为大写

转载 作者:行者123 更新时间:2023-12-04 23:22:00 26 4
gpt4 key购买 nike

我有一个 xml 文件,其值类似于

 JOBNAME="JBDSR14353_Some_other_Descriptor"

我正在寻找一个表达式,它将遍历文件并将引号中的所有字符更改为大写字母。是否有一个 Regex 表达式可以搜索 JOBNAME="Anything within the quotes"并将它们更改为大写?或者一个命令会找到 JOBNAME= 并将该行中的所有内容更改为大写字母?我知道可以只搜索 JOBNAME=,然后在 vim 中使用 VU 命令将行以大写形式存储到宏中并运行它,但我想知道是否有办法使用正则表达式完成此操作??

最佳答案

这是 :substitute 的替代方法,正如您最初的预期。当行中有其他文本时,这比@Zach 的 gU_ 解决方案效果更好:

:%s/JOBNAME="[^"]\+"/\U&/g
  • "[^"]\+" 匹配引用的文本(非贪婪地匹配内部的非引号,以处理一行中的多个引号)
  • \U 将替换的剩余部分转为大写
  • 为简单起见,整个匹配项 (&) 在这里都是大写的,但也可以使用捕获组 (\(...\)), 或者用 \zs
  • 匹配限制

关于正则表达式将所有过去的特定模式更改为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25651127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com