Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex-仅全局替换给定XML标记之间的斜杠_Regex_Xml_Ant - Fatal编程技术网

Regex-仅全局替换给定XML标记之间的斜杠

Regex-仅全局替换给定XML标记之间的斜杠,regex,xml,ant,Regex,Xml,Ant,我试图在一个xml文件中,但仅在一个给定的标记中,通过几行全局性地将反斜杠替换为正向斜杠 我希望处理路径内容的示例: 应成为: <name>file1</name><path>c:/folder/folder</path><test>just\the\lolz</test> <name>file2</name><path>c:/folder/folder/folder</path&g

我试图在一个xml文件中,但仅在一个给定的标记中,通过几行全局性地将反斜杠替换为正向斜杠

我希望处理路径内容的示例:

应成为:

<name>file1</name><path>c:/folder/folder</path><test>just\the\lolz</test>
<name>file2</name><path>c:/folder/folder/folder</path><test>some more\lolz</test>
我一直在尝试环顾四周和递归,但我一无所获。。。 最后一次尝试是:

(?<=path>)(\w*?(\x2F))+(?=.*<\/path>)

谢谢

您可以搜索以下内容:

(?<=path>[^<]*)\\

值得提醒的是,这不会适用于任何XML文件。真正解析XML文件并正确处理任何和所有可能的合法XML是不可能的,或者至少建议使用regex,但只要数据是一致的,这就足够了。

这就是您需要的:?这里是在


中的示例中,加载XML并替换节点值要容易得多。你在用什么语言?我在用ant脚本,我正在把一个txt文件转换成xml。对不起,regex101告诉我你不能在lookarounds*中使用量词。我已经试过了:好吧,你可以用str_replace函数来替换这个正则表达式匹配:?。?。=同样,regex101告诉我你不能在lookarounds*中使用量词。我已经试过了:我知道怎么做;但是如何得到斜线呢?对我来说很难。
(?<=path>[^<]*)\\
/
(?<=path>).*(?=<\/path)