Pad regex与等长的空格匹配
我正在编写一个极好的文本片段,将标题插入到matlab函数文件中。为此,我有以下几行:Pad regex与等长的空格匹配,regex,perl,padding,sublimetext,Regex,Perl,Padding,Sublimetext,我正在编写一个极好的文本片段,将标题插入到matlab函数文件中。为此,我有以下几行: % Inputs: % ${3/(\b[^ ,]+\b)|([ ,]+)/(?2: :$1 - Description\n%)/g} 这里,3指捕获的用户输入字符串(例如,函数(${3:inputs}) 正则表达式正在正常工作:比如说inputsisin1,input2。从我的表达式中,我得到: % Inputs: % in1 - Description % input2 - Des
% Inputs:
% ${3/(\b[^ ,]+\b)|([ ,]+)/(?2: :$1 - Description\n%)/g}
这里,3
指捕获的用户输入字符串(例如,函数(${3:inputs})
正则表达式正在正常工作:比如说inputs
isin1,input2
。从我的表达式中,我得到:
% Inputs:
% in1 - Description
% input2 - Description
但是,我想让-Description
与-
对齐
ST上的文档说正则表达式是Perl风格的
这可以实现吗?如果您获得所有匹配项,找到第一个捕获组最长的匹配项,然后重建结果,那么可能是可行的。几乎不可能即时完成。通过“即时”你的意思是像我打印的那样在一个正则表达式中。问题是,在代码片段中,我只能访问一个正则表达式来处理输入。是的,“动态”这意味着您要重复搜索和替换内容。由于您对未来的匹配一无所知,因此任何对齐尝试都将失败。不过,是否可以使用一些递归和/或嵌套替换巫术?perl有一个“e”允许您在右侧编写perl代码的标志。这将允许您简单地将最长长度存储在某个变量中,然后填充匹配项。虽然“perl样式”正则表达式支持这一点,但我不太确定。