使用正则表达式选择文本匹配单词或模式后的所有内容类似主题但文本不是固定模式,除了 1 个字符

问题描述

我试图在 notepad++ 中使用 Regex 来选择 v+(number|character)* 之后的所有内容,但在选择中它应该排除 v+(num|char)*

例如master\_\move_consolidate_archives_html_to_move_base_v2kjkj_(2021_01_19_11h43m59s-fi_m_dt xx-) - copy (2).bat"

期待

_(2021_01_19_11h43m59s-fi_m_dt xx-) - copy (2).bat"

到目前为止我可以使用这一行 (?i)(v\d[0-9a-z]*) 选择v2kjkj

但我无法让它与后视 (?<=xxxx) 一起使用。 我也在尝试使用 if-then-else 条件,但对我来说没有运气。我还是不够了解使用它。

问题。 因为“v”中有不同的模式。我不能硬编码到某个字符串

v2
v23
v2kjkj
v2343434

测试字符串:

mmaster\_\move_consolidate_archives_html_to_move_base_v2_16_.bat"
master\_\move_consolidate_archiv es_html_to_move_base_v23_17_.bat"
master\_\move_consolidate_archives_html_to_move_base_v2_17_(2021_01_19_12h37m19s-fi_m_dt xx-).bat"
master\_\move_consolidate_archives_html_to_move_base_v2_(2021_01_19_11h43m59s-fi_m_dt xx-) - copycopy.bat"
master\_\move_consolidate_archives_html_to_move_base_v2kjkj_(2021_01_19_11h43m59s-fi_m_dt xx-) - copy (2).bat"
master\_\move_consolidate_archives_html_to_move_base_v2343434_(2021_01_19_11h43m59s-fi_m_dt xx-) - copy (3).bat"

我已经阅读和搜索了一天,但我无法应用我所看到的任何内容。 我看到的最接近的是

  • 正则表达式匹配单词后的所有内容
  • 获取正则表达式匹配后的文本

欢迎提出任何意见。

解决方法

  • Ctrl+H
  • 查找内容:v\d[0-9a-z]*\K.*$
  • 替换为:LEAVE EMPTY
  • 取消勾选 匹配案例
  • 检查 环绕
  • 检查 正则表达式
  • 取消勾选 . matches newline
  • 全部替换

说明:

v               # a "v"
\d              # a digit
[0-9a-z]*       # 0 or more alphanum
\K              # forget all we have seen until this position
.*              # 0 or more any character but newline
$               # end of line

屏幕截图(之前):

enter image description here

屏幕截图(之后):

enter image description here