找出不在"<>" 或 "</>"之内的所有空格,正则表达式该怎么写?

问题描述

如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+(?=[^<>]*(?:<|$))","");

时间: 2024-10-14 14:27:37

找出不在&amp;quot;&amp;lt;&amp;gt;&amp;quot; 或 &amp;quot;&amp;lt;/&amp;gt;&amp;quot;之内的所有空格,正则表达式该怎么写?的相关文章

如何使用java找出段首句和段尾句

问题描述 如何使用java找出段首句和段尾句 最近要实现一个自动摘要算法,需要找出段首句和段尾句,并给他们赋予权重,所以如何找出段首句和段尾句?(ps:从网上爬下来的文档分段不是很分明,但是两个句子之间空有有四个字节) 解决方案 句子之间一般是通过标点符号,或者html的p span br之类分割的,你要找到规律.

[华为机试练习题]43.在字符串中找出连续最长的数字串

题目 描述: 请一个在字符串中找出连续最长的数字串,并把这个串的长度返回:如果存在长度相同的连续数字串,返回最后一个连续数字串: 注意:数字串只需要是数字组成的就可以,并不要求顺序,比如数字串"1234"的长度就小于数字串"1359055",如果没有数字,则返回空字符串("")而不是NULL! 样例输入 abcd12345ed125ss123058789 abcd12345ss54761 样例输出 输出123058789,函数返回值9 输出547

判断单链是否循环,并且找出第一个循环节点

介绍     判断单链是否循环,并且找出第一个循环节点. 思路     [判断单链是否循环]:如果单链是循环的,那么循环部分就是封闭的.这好比一个田径运动场,当两个人跑步时,开始虽然有一定的间距,但他们迟早会相遇的. 顺其自然的我们从中抽取一个数学模型,一个是步长Steps(对应两人刚开始跑步时的间距):一个是判断单链循环的条件nodeX==nodeY(两人"相遇").     [找出第一个循环节点]:我想过好多其它方法,实现起来都比较难,后来出去骑行了两个小时,回来后就想到借助Has

[华为机试练习题]61.找出字符串中第一个出现次数最多的字符

题目 描述: 找出字符串中第一个出现次数最多的字符 详细描述: 接口说明 原型: bool FindChar(char* pInputString, char* pChar); 输入参数: char* pInputString:字符串 输出参数(指针指向的内存区域保证有效): char* pChar:出现次数最多的字符 返回值: false 异常失败 true 输出成功 练习阶段: 初级 代码 /*--------------------------------------- * 日期:2015

如何找出消耗cup的进程信息和执行的语句

进程|语句|执行 要找出最耗资源的sql,我们可以首先使用top等工具,找到最好资源的进程(记住进程号),例如,操作系统进程号为1217,然后根据这个进程号(v$process.spid)在v$process中找到进程地址(v$process.addr),然后根据这个地址在v$session中找到相应的sid(v$session.sid),然后根据这个sid找到相应的hash alue(v$session. sql_hash_value),然后根据这个hash alue在v$sqltext,$s

快速找出局域网的中毒电脑

在局域网环境中上网的朋友会经常碰到无故断线的情况,并且检查电脑也检查不出什么原因.其实出现这种情况,大部分情况下都是局域网中的某一台电脑感染了ARP类型的病毒所至.感染病毒,电脑一一杀毒,电脑过多的情况下显然很费时费力.现在就告诉你这三招两式,快速找出局域网中的"毒瘤". 小提示: ARP:Address Resolution Protocol的缩写,即地址解析协议.ARP负责将电脑的IP地址转换为对应的物理地址,即网卡的MAC地址.当发生ARP欺骗时,相关主机会收到错误的数据,从而造

JAVA函数实现任意给定一组数, 找出任意数相加之后的结果为35

用JAVA写一个函数.功能如下:任意给定一组数,例如{12,60,-8,99,15,35,17,18},找出任意数相加之后的结果为35(任意设定)的情况. 可以递归算法来解: package test1; import java.util.Arrays; public class demo { public static void main(String[] args) { String str = "12,60,-8,99,15,35,17,18,8,10,11,12"; int s

仅通过崩溃地址找出源代码的出错行

作为程序员,我们平时最担心见到的事情是什么?是内存泄漏?是界面不好看? --错啦!我相信我的看法是不会有人反对的--那就是,程序发 生了崩溃! "该程序执行了非法操作,即将关闭.请与你的软件供应商联系. ",呵呵,这句 M$ 的"名言",恐怕就是程序员最担心见到的东西了.有 的时候,自己的程序在自己的机器上运行得好好的,但是到了别人的机器上就崩溃了:有时 自己在编写和测试的过程中就莫名其妙地遇到了非法操作,但是却无法确定到底是源代码中 的哪行引起的--是不是很痛苦呢

输入n个整数并找出其中的最小k个数

题目: 输入n个整数, 找出其中的最小k个数. 使用快速排序(Quick Sort)的方法求解, 把索引值(index)指向前k个数. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdio.h> #include <stdlib.h> int RandomInRange(int min, int max) { int rand