Java使用正则表达式截取重复出现的XML字符串功能示例

本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能。分享给大家供大家参考,具体如下:

public static void main(String[] args) throws DocumentException {
    String s = "<MTCCommand Time=\"2014-03-22\"><Login UserId=\"admin\" UserPasswd=\"123\" /></MTCCommand><MTCCommand><Login/></MTCCommand>";
    String regEx = "<MTCCommand((?!<MTCCommand).)*</MTCCommand>";
    Pattern pat = Pattern.compile(regEx);
    Matcher mat = pat.matcher(s);
    while(mat.find()){
      System.out.println(mat.group());
    }
}

输出结果:

<MTCCommand Time="2014-03-22"><Login UserId="admin" UserPasswd="123" /></MTCCommand>
<MTCCommand><Login/></MTCCommand>

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • java 字符串截取的三种方法(推荐)

    众所周知,java提供了很多字符串截取的方式.下面就来看看大致有几种. 1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时. String str = "abc,12,3yy98,0"; String[] strs=str.split(","); for(int i=0,len=strs.length;i<len;i++){ System.out.pri

  • Java截取字符串的方法

    本文实例讲述了Java截取字符串的方法.分享给大家供大家参考.具体实现方法如下: public static void main(String args[]) { //以该字符第一次出现,开始截取 //String str="abc.def"; //String str="abc.def.sdfsdf.fsdfd.ddddd.ggggg.ttttt"; //String str1=str.substring(str.indexOf(".")+1,

  • java 实现截取字符串并按字节分别输出实例代码

    java 实现截取字符串并按字节分别输出实例代码 前言: 请编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",而不是"我ABC"+"汉"字的半个. 2.解析思想 本题容易产生困惑的是中文字符和英文字符如何处理,在这里需要考虑汉字和英文字符的占用字节

  • java按字节截取带有汉字的字符串的解法(推荐)

    由于接口使用的oracle字段长度为固定字节数,然后传进来的字符串估计比数据库字段的总字节数要大,那么截取小于数据库字节数的字符串. 自己参考网上的例子,整了个递归调用就可以了,因为截取的字符字节长度必须小与数据库的字节长度,即如果最后一个字符为汉字,那么只能去掉往前截取. /** * 判断传进来的字符串,是否 * 大于指定的字节,如果大于递归调用 * 直到小于指定字节数 ,一定要指定字符编码,因为各个系统字符编码都不一样,字节数也不一样 * @param s * 原始字符串 * @param

  • java 截取字符串(判断汉字)

    复制代码 代码如下: /** * 截取字符串 len为字节长度 * @param str * @param len * @return * @throws UnsupportedEncodingException */ public static String getLimitLengthString( String str,int len){ try{ int counterOfDoubleByte = 0; byte[] b = str.getBytes("gb2312"); if

  • java中简单的截取分割字符串实例

    目前整理出来三种形式: 可根据实际需要选择使用 String userNameUrl; int beginIndex = 0; int endIndex = 0; userNameUrl = "454512@hongri@4944115455d9591b274648a06303d910de"; /** * 方法一: */ beginIndex = userNameUrl.indexOf("@")+1; endIndex = userNameUrl.lastIndex

  • java 字符串截取的实例详解

    java 字符串截取的实例详解 题目 在java中,字符串"abcd"与字符串"ab你好"的长度是一样,都是四个字符. 但对应的字节数不同,一个汉字占两个字节. 定义一个方法,按照指定的字节数来取子串. 如:对于"ab你好",如果取三个字节,那么子串就是ab与"你"字的半个,那么半个就要舍弃. 如果取四个字节就是"ab你",取五个字节还是"ab你". 仅考虑GBK和utf-8编码 实例代

  • Java截取特定两个标记之间的字符串实例

    如有一串字符串: <abcd efg>higklmnopq<rstu vwxyz> java代码如下: public class StringTest { public static void main(String[] args) { String str = "<abcd efg>higklmnopq<rstu vwxyz"; System.out.println(str.substring(str.indexOf(">&q

  • JAVA中截取字符串substring用法详解

    substring public String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串.该子字符串始于指定索引处的字符,一直到此字符串末尾. 例如: "unhappy".substring(2) returns "happy" "Harbison".substring(3) returns "bison" "emptiness".substring

  • Java使用正则表达式截取重复出现的XML字符串功能示例

    本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能.分享给大家供大家参考,具体如下: public static void main(String[] args) throws DocumentException { String s = "<MTCCommand Time=\"2014-03-22\"><Login UserId=\"admin\" UserPasswd=\"123\" />&l

  • Java使用正则表达式去除小数点后面多余的0功能示例

    本文实例讲述了Java使用正则表达式去除小数点后面多余的0功能.分享给大家供大家参考,具体如下: package test; /** * 去掉多余的.与0 * @author Hust * @Time 2011-11-7 */ public class TestString { public static void main(String[] args) { Float f = 1f; System.out.println(f.toString());//1.0 System.out.print

  • java实现简单解析XML文件功能示例

    本文实例讲述了java实现简单解析XML文件功能.分享给大家供大家参考,具体如下: package demo; import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException;

  • C#正则表达式匹配与替换字符串功能示例

    本文实例讲述了C#正则表达式匹配与替换字符串功能.分享给大家供大家参考,具体如下: 事例一:\w+=>[A-Za-z1-9_],\s+=>任何空白字符,()=>捕获 string text = @"public string testMatchObj string s string match "; string pat = @"(\w+)\s+(string)"; // Compile the regular expression. Regex

  • js使用Replace结合正则替换重复出现的字符串功能示例

    本文实例讲述了js使用Replace结合正则替换重复出现的字符串功能.分享给大家供大家参考,具体如下: 今天想把网站上关于用户搜索资料后的结果列表进行处理,如同百度搜索一样,加入我搜索框中输入"我要日日发网络",点击搜索按钮所得的结果列表中将会出现"我要日日发网络"字符串为红色. 我今天想到用js来进行处理,就是利用js内的replace函数对结果列表内的字符串进行指定字符串的替换工作,开始我是这样写的 <script type="text/Java

  • JS基于正则截取替换特定字符之间字符串操作示例

    本文实例讲述了JS基于正则截取替换特定字符之间字符串操作.分享给大家供大家参考,具体如下: 示例1: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&

  • java使用Hex编码解码实现Aes加密解密功能示例

    本文实例讲述了java使用Hex编码解码实现Aes加密解密功能.分享给大家供大家参考,具体如下: 这里的Aes加密解密方法使用Hex进行了编码解码 package com.baidu.wallet.bdwallet.utils; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; i

  • Python正则表达式非贪婪、多行匹配功能示例

    本文实例讲述了Python正则表达式非贪婪.多行匹配功能.分享给大家供大家参考,具体如下: 一些regular的tips: 1 非贪婪flag >>> re.findall(r"a(\d+?)","a23b") # 非贪婪模式 ['2'] >>> re.findall(r"a(\d+)","a23b") ['23'] 注意比较这种情况: >>> re.findall(r&q

  • PHP使用正则表达式实现过滤非法字符串功能示例

    本文实例讲述了PHP使用正则表达式实现过滤非法字符串功能.分享给大家供大家参考,具体如下: 一.代码 1.index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/

  • jQuery基于Ajax实现读取XML数据功能示例

    本文实例讲述了jQuery基于Ajax实现读取XML数据功能.分享给大家供大家参考,具体如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="JqueryAjax_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr

随机推荐