如何使用正则表达式将“35yrs”替换为“35 yrs”?

如何使用正则表达式将“35yrs”替换为“35 yrs”?

我有一个如下列表:

35yrs
74 yrs
40yrs
24yrs
36 yrs

我想使用正则表达式(在 Textmate 中)使列表看起来像这样:

35 yrs
74 yrs
40 yrs
24 yrs
36 yrs

我的搜索正确:

\d+[y][r][s]

替换应该是什么样的?

答案1

据我所知,Textmate 支持高级正则表达式。然后您可以使用以下命令:

  • 寻找:(?<=\d)(?=yrs)
  • 替换: <-- 一个空格

解释:

(?<=\d)    # positive lookbehind, make sure we have a digit before the current position
(?=yrs)    # positive lookahead, make sure we have literally "yrs" after the current position

答案2

您只需要使用捕获组。以下是要使用的正则表达式:

(\d+)(yrs)

并在替换字段中输入此

\1 \2

\1 代表 () 中的第一个组,\2 代表第二个 ()

相关内容