用正则表达式替换文本,保持在崇高文本上的结构匹配

时间:2014-06-10 12:25:07

标签: regex replace sublimetext

我一直在尝试一些选择,但我无法弄清楚。

这是我正在寻找的文字:

php[whatever_is_in_between]myfunction

我希望将其更改为

=[whatever_is_in_between]myfunction

其中[whatever_is_in_between] = \ n或\ n \ t或\ n \ t \ t或\ n \ nbarspace或\ nbarespace \ t等等

所以我发现这个正则表达式匹配搜索文本:

php[\n]*[\t]*[ ]*myfunction\(

这是"替换为"文本:

=[\n]*[\t]*[ ]*myfunction\(

但正则表达式不适用于替换,它将其替换为文本。

任何人都可以帮我这个吗?

感谢

1 个答案:

答案 0 :(得分:1)

我认为问题在于您没有使用捕获组()。除此之外,捕获组允许您从读取的文本中获取输入,然后将其注入替换文本。

我使用这样的搜索模式:

php\[([^\]]*)\]([\w\W]*)

看起来很复杂,但我已在Regex 101设置了一个可以查看的样本。替换文本应如下所示:

[\1]\2

请注意,插入捕获组的方式取决于您使用的编程语言。上面应该适用于php。

我希望有所帮助,

- 乔纳森