我正在办公室app中为outlook做正则表达式。邮件正如:
Hello, I have the following path need to be translated. Can you help me with that?
\\test1
\\test2
\\test3
\\test4
Thanks.
在代码中我使用getRegExMatches()来获取匹配的模式。 正则表达式:
<Rule xsi:type="ItemHasRegularExpressionMatch" PropertyName="BodyAsHTML" RegExName="test" RegExValue='file://[^"]*'/>
代码:
matches=Office.context.mailbox.item.getRegExMatches().test;
匹配是一个匹配模式的数组:
[file://\\test1,file:///\\test2,file://\\test3,file:///\\test4];
但我希望返回结果:
[\\test1,\\test2,\\test3,\\test4]
正则表达式可以做任何事情来分割结果吗?或者是否有任何简单的实现来获取结果来摆脱file://或file:///。虽然可以遍历数组来获得结果,但我想知道是否有更好的解决方案。
答案 0 :(得分:0)
获得数组后,可以使用正则表达式来获取//
var files = matches.map(function(f) { return f.match(/\/\/(.*)/)[1]; })
或者,如果它始终以file://
开头,则可以使用子字符串:
var files = matches.map(function(f) { return f.substring('file://'.length); })