问题描述
如Stringstr="<inputvalue='test'>abcdefghi</input>";希望找出abcd与efg和efg和hi之间的空格,如何写正则表达式?
解决方案
解决方案二:
不在"<>"或"</>"之内的所有空格,其实就是找出不在"<>"的所有空格吧
解决方案三:
要是我,就用json转2次,生成不带格式的关于XML的,可以参考下这个:http://www.csharpwin.com/dotnetspace/8689r8636.shtml
解决方案四:
引用1楼lei001的回复:
不在"<>"或"</>"之内的所有空格,其实就是找出不在"<>"的所有空格吧
那不在"<>"之内的又咋写了?
解决方案五:
10分。。。。。。
解决方案六:
Java中做不到太严谨,不过一般来说也够了找出来做什么,替换吧?Stringstr="<inputvalue='test'>abcdefghi</input>";Stringresult=str.replaceAll("+(?=[^<>]*(?:<|$))","");System.out.println(result);
解决方案七:
引用5楼lxcnn的回复:
Java中做不到太严谨,不过一般来说也够了找出来做什么,替换吧?JavacodeStringstr="<inputvalue='test'>abcdefghi</input>";Stringresult=str.replaceAll("+(?=[^<>]*(?:<|$))","");System.out.println(result);
做不到太严谨是啥意思哟?上面的正则表达式有小小的bug?
解决方案八:
只能加正向搜索条件,不能包含在“...>”中(?=[^<>]*(?:<|$))至于逆向搜索条件,因为需要用到不定量词,Java中不支持(?<=(?:^|>)[^<>]*)如果源字符串比较规范,<>都是配对出现的话,那是没什么问题的,如果不是太规范的话,其实加上逆向搜索也不是很严谨的不过话说回来,写正则,适用就好,倒不用一味的追求严谨了
解决方案九:
自己再顶顶,看有没有其它解决方式
解决方案十:
只能加正向搜索条件,不能包含在“...>”中(?=[^<>]*(?:<|$))至于逆向搜索条件,因为需要用到不定量词,Java中不支持(?<=(?:^|>)[^<>]*)如果源字符串比较规范,<>都是配对出现的话,那是没什么问题的,如果不是太规范的话,其实加上逆向搜索也不是很严谨的不过话说回来,写正则,适用就好,倒不用一味的追求严谨了
解决方案十一:
引用8楼difficult的回复:
自己再顶顶,看有没有其它解决方式
5楼不满足你需求?Java中正则很难做到更严谨了,除非改成其它方式,比如自己写状态机
解决方案十二:
这其实是找>和<中的空格,>和<中间不许出现<所以大体是:>([s]*?)<
解决方案十三:
引用7楼lxcnn的回复:
只能加正向搜索条件,不能包含在“...>”中(?=[^<>]*(?:<|$))至于逆向搜索条件,因为需要用到不定量词,Java中不支持(?<=(?:^|>)[^<>]*)如果源字符串比较规范,<>都是配对出现的话,那是没什么问题的,如果不是太规范的话,其实加上逆向搜索也不是很严谨的不过话说回来,写正则,适用就好,倒不用一味的追求严谨了
soagree
解决方案十四:
正在学习正则
解决方案十五:
引用7楼lxcnn的回复:
只能加正向搜索条件,不能包含在“...>”中(?=[^<>]*(?:<|$))至于逆向搜索条件,因为需要用到不定量词,Java中不支持(?<=(?:^|>)[^<>]*)如果源字符串比较规范,<>都是配对出现的话,那是没什么问题的,如果不是太规范的话,其实加上逆向搜索也不是很严谨的不过话说回来,写正则,适用就好,倒不用一味的追求严谨了
说得很好我觉得楼主是要做页面压缩吧?开发wap1.2或者wap2.0做手机浏览吗?我觉得是把网页源文件中的回车换行,tab,换页什么的都替换成一个空格?网上似乎有这样过滤包吧?Stringresult=str.replaceAll("+(?=[^<>]*(?:<|$))","");我觉得这样或许好一些Stringresult=str.replaceAll("(?ims)(?<=[>])\s+(?=[^<>]*(?:<|$))","");