求正则表达式匹配标签外的空格 正则表达式 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Try this:public class Tee{ public static void main(String[] args){ String s = "aa <bb cccc=''>eeee www <w oo='eee'> <qqq iii='xxx' > ssss d</a>aaa oooo"; String regex = " (?=[\\w \\=']*<.*>|[\\w ]*$)"; System.out.println(s.replaceAll(regex, "-")); }} String regex = " (?=[\\w \\=']*<.*>|[\\w ]*$)"; [\\w \\=']*<.*>:该空格后面有零到多个非'<'和'>'的字符,然后必须紧跟着一对<>及里面的内容。这样写就可以排除掉<>里面的空格。因为<>里面的空格后面一定会先出现一个'>'.[\\w ]*$:该空格后面没有<>作为判断条件了,但是能匹配到行尾,说明也是在<>外面的。[\\w \\=']*<.*>|[\\w ]*$:两者满足其中一个条件即可。 (?=[\\w \\=']*<.*>|[\\w ]*$):正方向零宽匹配。可参考: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html 如何用Java关闭一个进程 Java JTextarea自动换行时获取行列值 如何分离字符串,machine1#global#20090112 超级-超级 简单的问题?? 刚参加笔试回来,给点题目大侠们看看 java中读TXT文件以及筛选数据的问题!——信誉很好一定给分! 关于JTree右键的问题 32位虚拟机下编译的java程序放到64位虚拟机下可以直接运行吗? JAVA初学者的配置问题? 找工作必看的,一定别上当了 各位大虾帮帮忙呀, swing 菜鸟入门小问题 求前辈详细说明几句AutoCAD脚本文件的功能
public class Tee{
public static void main(String[] args){
String s = "aa <bb cccc=''>eeee www <w oo='eee'> <qqq iii='xxx' > ssss d</a>aaa oooo";
String regex = " (?=[\\w \\=']*<.*>|[\\w ]*$)";
System.out.println(s.replaceAll(regex, "-"));
}
}
String regex = " (?=[\\w \\=']*<.*>|[\\w ]*$)";
[\\w \\=']*<.*>:该空格后面有零到多个非'<'和'>'的字符,然后必须紧跟着一对<>及里面的内容。这样写就可以排除掉<>里面的空格。因为<>里面的空格后面一定会先出现一个'>'.
[\\w ]*$:该空格后面没有<>作为判断条件了,但是能匹配到行尾,说明也是在<>外面的。
[\\w \\=']*<.*>|[\\w ]*$:两者满足其中一个条件即可。
(?=[\\w \\=']*<.*>|[\\w ]*$):正方向零宽匹配。可参考: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html