Java replaceAll()除某些单词外的所有实例
我有正则表达式:Java replaceAll()除某些单词外的所有实例,java,regex,Java,Regex,我有正则表达式: str.replaceAll("(?!<img\ssrc=".*?">)([a-z])", ""); str.replaceAll((?!)([a-z]),”; …除zxc外,应将所有字母踢出 但是我得到的是而不是 如何解决此问题?选项1:只有一个标记 如果您只有一个图像标记,只需匹配它:匹配是您的新字符串 qwerty <img src="image.jpg"> zxc 参考 选项1:只有一个标签 如果您只有一个图像标记,只需匹配它:匹
str.replaceAll("(?!<img\ssrc=".*?">)([a-z])", "");
str.replaceAll((?!)([a-z]),”;
…除zxc外,应将所有字母踢出
但是我得到的是<=”>
而不是
如何解决此问题?选项1:只有一个标记 如果您只有一个图像标记,只需匹配它:匹配是您的新字符串
qwerty <img src="image.jpg"> zxc
参考
选项1:只有一个标签 如果您只有一个图像标记,只需匹配它:匹配是您的新字符串
qwerty <img src="image.jpg"> zxc
参考
- 您的问题在REGEXP中。我看到的第一件事是您没有正确地转义字符串:
应该是
Pattern regex = Pattern.compile("<img[^>]+>");
Matcher regexMatcher = regex.matcher(subjectString);
if (regexMatcher.find()) {
String ReplacedString = regexMatcher.group();
}
(?!)([\\s\\s])
请注意,这两个组之间都有空格
无论如何,我会说:
<img[^>]+>|(.)
[^]*>)[\s\s]*
您的问题在REGEXP中。我看到的第一件事是您没有正确地转义字符串:
应该是
Pattern regex = Pattern.compile("<img[^>]+>");
Matcher regexMatcher = regex.matcher(subjectString);
if (regexMatcher.find()) {
String ReplacedString = regexMatcher.group();
}
(?!)([\\s\\s])
请注意,这两个组之间都有空格
无论如何,我会说:
<img[^>]+>|(.)
[^]*>)[\s\s]*
注意,在某些情况下,这会失败:如果文件名中有
符号,该怎么办?永远不要使用正则表达式来解析HTML。请注意,在某些情况下,这会失败:如果文件名中有
符号,该怎么办?永远不要使用正则表达式来解析HTML。这不会替换不需要的字符,是吗?@eddieferetro,我得到的结果是对不起,我在这里测试了它:(而且似乎有效。无论如何,保留该页面以测试您的正则表达式,通常非常有用这不会替换不需要的字符,是吗?@eddieferetro,我得到的结果是抱歉,我在这里测试了它:(而且似乎有效。无论如何,保留该页面以测试您的正则表达式,通常非常有用。)