【问题标题】:Is it possible to transform a matched group when doing a find/replace?进行查找/替换时是否可以转换匹配组?
【发布时间】:2016-06-21 15:41:38
【问题描述】:

考虑以下单词列表:

targetX
targetY
targetZ
targetColor
targetWidth

我想删除“目标”前缀,同时保持命名约定。这意味着前缀后面的第一个字符需要小写:

x
y
z
color
width

到目前为止,我可以匹配我想要的文本并相应地对字符进行分组:

Find:    "target[A-Z]"
Replace: ???

但我不知道我可以为替换做什么。是否有可以在 Visual Studio 或替代编辑器中执行此操作的正则表达式替换函数?

【问题讨论】:

  • 不,这是不可能的,但你可以在 Notepad++ 或 SublimeText 中做到这一点。只需使用\btarget([A-Z]) 并替换为\l$1
  • @WiktorStribiżew - 这太棒了!正是我需要的!如果你把它作为一个答案,我会接受。

标签: regex visual-studio visual-studio-2013


【解决方案1】:

Visual Studio S&R 工具不支持替换部分中的大写/小写运算符。解决方法是使用 Notepad++ 或 SublimeText 与

查找:\btarget([A-Z])
替换为:\l$1

在这里,\btarget 将匹配以 target 开头的单词,([A-Z]) 将匹配并捕获一个大写 ASCII 字母到组 1 中,该组 1 稍后将使用 $1 反向引用并将其转换为小写 \l运算符。

【讨论】:

    猜你喜欢
    • 2011-04-01
    • 2020-07-22
    • 2012-06-09
    • 2015-12-22
    • 2023-03-08
    • 2022-01-20
    • 2015-05-17
    • 2019-12-22
    相关资源
    最近更新 更多