从文本中删除文件路径

时间:2012-10-23 18:13:16

标签: java android regex parsing

我有一个长文本,其中包含一些文件的路径。

我想要做的是从中删除路径。 文件路径类似于:

some text 1
/all/extraItems/Java/.Scripts/.Sample1.js
some text 2
/all/extraItems/Android/.Scripts/.Sample2.js
some text 3

我知道使用“^ / all”会选择以 / all 开头的句子以及 .js $ 结尾的句子的的.js 即可。但我无法将这些合并在一起以选择整个文件路径。

应该在以下代码上放置所有正则表达式以删除路径。

text.replaceAll(<RegularExpression> , "");

我可以为此编写regEx吗?有没有工具?

2 个答案:

答案 0 :(得分:1)

使用.*?将它们合并在一起

^/all.*?\.js$

因此,regex表示匹配0到n个字符,即.*?,以all开头,以\.js结尾..您需要转义{{1因为.表示匹配任何字符......

别忘了使用多行选项

答案 1 :(得分:1)

如果你想“合并”它们,你必须匹配两者之间的字符:

^/all.*?\.js$

.匹配任何字符,*重复前一个字符0次或更多次,?使重复不成对,避免匹配超过多行。由于您使用的是Java,因此需要在字符串中再次使用反斜杠:

"^/all.*?\\.js$"

如果你不使用多线选项(你需要做的事情,^/alljs$来处理你的输入),你可以这样做:

"(?m)^/all.*?\\.js$"