我们有一个更大的项目,其中几乎所有包含文件路径都是使用“Windows样式”反斜杠语法编写的,例如include 'foo\bar.baz'
。现在我们也希望在Unix机器上运行poject,但是我们(显然)在路径名中有反斜杠的问题。
不幸的是,我无法用正斜杠替换所有反斜杠,因为它们用于创建换行符\n
并在代码的其他部分中转义字符。
我试图摆弄RegEx,以便仅在用引号括起来匹配反斜杠字符
(["'])(?:(?=(\\?))\2.)*?\1
然后是另一个反斜杠或一个点。但是上面只能在引号内找到文本,而且我仍然坚持如何让它只匹配里面的斜杠。
非常感谢你的帮助!
P.S。:如果有任何帮助,我使用Atom作为编辑
答案 0 :(得分:0)
https://regex101.com/r/U0MboP/1
(["'])(.+)\\\\?(.+)\1
这个正则表达式
这取代了https://regex101.com/r/U0MboP/2
\1\2/\3\1