在记事本中,++可以替换匹配组中的字符

时间:2018-06-11 10:44:11

标签: regex notepad++

给一个字符串(没有引号)'这个lar-g-e tiger'如果我想替换中间单词中的连字符,可以在记事本++中完成

我希望我可以匹配中间组并对其进行替换。

例如,文字:

this lar-g-e tig-er
the f-a-s-t car

会变成:

this lar_g_e tig-er
the f_a_s_t car

这里的规则是' - '到'_'替换应该只发生在中间词。

1 个答案:

答案 0 :(得分:3)

根据请求更改进行更新:

  • 控制 + ħ
  • 找到:(^\w+\h+|\G)(\w+)-
  • 替换为:$1$2_
  • 检查环绕
  • 检查正则表达式
  • 全部替换

<强>解释

(       : start group 1
  ^     : beginning of line
  \w+   : 1 or more word character, you may use [a-z]+ if you want letters only
  \h+   : 1 or more horizontal space
 |      : OR
  \G    : start next match from here
)       : end group 1
(       : start group 2
  \w+   : 1 or more word character, you may use [a-z]+ if you want letters only
)       : end group 2
-       : a dash

<强>替换

$1      : content of group 1
$2      : content of group 2
_       : an underscore

给定示例的结果:

this lar_g_e tiger
the f_a_s_t car