Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Java ReplaceAll regexp以匹配所有模式,无需特定字符串_Java_Regex_String_Replace - Fatal编程技术网

Java ReplaceAll regexp以匹配所有模式,无需特定字符串

Java ReplaceAll regexp以匹配所有模式,无需特定字符串,java,regex,string,replace,Java,Regex,String,Replace,我有一个字符串,我想替换它: src="test.jpg" -> src="file://test.jpg" src="http://xxx...." -> untouched 事实上,我将src=替换为src=file://但如果它以http开头,例如src=http,我不想替换它 所以我编写了这个regexp来用src=file://: 但问题是,这也与src=http匹配。 我不知道如何为此构建regexp。我原以为我能做到这一点,但它不起作用: html2.replace

我有一个字符串,我想替换它:

src="test.jpg" -> src="file://test.jpg"

src="http://xxx...." -> untouched
事实上,我将src=替换为src=file://但如果它以http开头,例如src=http,我不想替换它

所以我编写了这个regexp来用src=file://:

但问题是,这也与src=http匹配。 我不知道如何为此构建regexp。我原以为我能做到这一点,但它不起作用:

html2.replaceAll("src=\"[^(http)]","src=\"file:///android_asset/verkehr/");

你想要一个消极的展望。
html2.replaceAllsrc=\?!http,,…

使用带有负前瞻的正则表达式:

 src=\"(?!http://)

我想你需要一个零宽度的负前瞻

html2.replaceAll("(src=\"(?!http://))", "src=\"file:///");
但要注意其他协议,如https、ftp等

html2.replaceAll("(src=\"(?!http://))", "src=\"file:///");