我有一个长文本,其中包含一些文件的路径。
我想要做的是从中删除路径。 文件路径类似于:
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吗?有没有工具?
答案 0 :(得分:1)
使用.*?
将它们合并在一起
^/all.*?\.js$
因此,regex
表示匹配0到n个字符,即.*?
,以all
开头,以\.js
结尾..您需要转义{{1因为.
表示匹配任何字符......
别忘了使用多行选项
答案 1 :(得分:1)
如果你想“合并”它们,你必须匹配两者之间的字符:
^/all.*?\.js$
.
匹配任何字符,*
重复前一个字符0次或更多次,?
使重复不成对,避免匹配超过多行。由于您使用的是Java,因此需要在字符串中再次使用反斜杠:
"^/all.*?\\.js$"
如果你不使用多线选项(你需要做的事情,^/all
和js$
来处理你的输入),你可以这样做:
"(?m)^/all.*?\\.js$"