0

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

我想要做的是从中删除路径。文件路径都是这样的:

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> , "");

我可以为谁编写正则表达式?有什么工具吗?

4

2 回答 2

1

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

^/all.*?\.js$

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

不要忘记使用多行选项

于 2012-10-23T18:15:08.600 回答
1

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

^/all.*?\.js$

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

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

如果您还没有使用 multiline 选项(您实际上需要这样做,以便^/all处理js$您的输入),您可以这样做:

"(?m)^/all.*?\\.js$"
于 2012-10-23T18:15:31.413 回答