如何使用正则表达式选择文件路径

时间:2009-05-04 20:11:59

标签: java xml regex

我想创建一个java正则表达式,它选择从文件路径中的 file:到最后一个正斜杠(/)的所有内容。这样我就可以用不同的路径替换它。

<!DOCTYPE "file:C:/Documentum/XML%20Applications/joesdev/goodnews/book.dtd"/>
<myBook>cool book</myBook>

有没有人有任何想法?谢谢!

4 个答案:

答案 0 :(得分:3)

你只想在结束报价之前去最后一个斜线,对吗?如果是这样的话:

  

file:[^"]+/

(字符串“file:”,然后是“,以/结尾)” 适当逃脱:

String regex = "file:[^\"]+/";

答案 1 :(得分:0)

试试这个:

"file:.*/[^/]*"/>

答案 2 :(得分:0)

您可以尝试自己处理,但更好的方案是选择引号之间的部分,并使用java.util.File将目录名与文件名分开。这样您就不必担心/ vs \或各种转义字符。

答案 3 :(得分:0)

String newPath = "C:/Documentum/badnews";
String originalPath = "<!DOCTYPE \"file:C:/Documentum/XML%20Applications/joesdev/goodnews/book.dtd\"/>";
System.out.println(originalPath.replaceFirst("file:C:((/[/\\w%]+))", newPath));