精华内容
下载资源
问答
  • 小编典典该matcher.group()函数希望使用一个整数参数:捕获组索引,...由于您的正则表达式中没有括号,因此不能存在第1组。Pattern类上的javadoc涵盖了正则表达式语法。如果您正在寻找可能重复出现多次的模式,则可...

    小编典典

    该matcher.group()函数希望使用一个整数参数:捕获组索引,从1开始。索引0是特殊的,表示“整个匹配项”。使用一对括号“ (...)”

    创建捕获组。括号内的所有内容均为捕获。通过打开括号(表示组可以重叠),从左到右(从1开始)对组编号。由于您的正则表达式中没有括号,因此不能存在第1组。

    Pattern类上的javadoc

    涵盖了正则表达式语法。

    如果您正在寻找可能重复出现多次的模式,则可以重复使用Matcher.find(),直到它返回false。Matcher.group(0)每次迭代一次将返回与该时间匹配的内容。

    如果要构建一个同时匹配所有内容的大型正则表达式(我相信这是您想要的),则围绕要捕获的三组事物的每一个,放置一组捕获括号,在其中使用Matcher.match(),然后Matcher.group(n)在哪里n分别为1、2和3。当然Matcher.match()也可能返回false,在这种情况下,模式将不匹配,并且您将无法检索任何组。

    在您的示例中,您可能想要做的是使其与某些先前的文本匹配,然后启动捕获组,匹配数字,结束捕获组,等等。。。我对您的确切输入格式了解不多,但是这是一个例子。

    可以说我有以下形式的字符串:

    Eat 12 carrots at 12:30

    Take 3 pills at 01:15

    我想提取数量和时间。我的正则表达式如下所示:

    "\w+ (\d+) [\w ]+ (\d{1,2}:\d{2})"

    代码如下所示:

    Pattern p = Pattern.compile("\\w+ (\\d+) [\\w ]+ (\\d{2}:\\d{2})");

    Matcher m = p.matcher(oneline);

    if(m.matches()) {

    System.out.println("The quantity is " + m.group(1));

    System.out.println("The time is " + m.group(2));

    }

    正则表达式的意思是“一个字符串,其中包含一个单词,一个空格,一个或多个数字(在组1中捕获),一个空格,一组单词和以空格结尾的空格,后跟一个时间(在组2中捕获)

    ,并且时间假设小时始终是0填充为2位数字。)我将给出一个与您要查找的内容更接近的示例,但可能的输入内容的描述有点模糊。

    2020-09-24

    展开全文
  • 废话不多说,直接上代码: ...import java.text.ParseException; import java.util.ArrayList; import java.util.List; import java.util.regex.*; public class ssss { public static void main(S...

    废话不多说,直接上代码:

    package self.learn.pratice;
    
    import java.text.ParseException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.*;
    public class ssss {
    	
    	public static void main(String[] args) throws ParseException {
    		// inXml 为要截取的字符串
    		String inXml = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:ns6=\"http://www.chinatelecom.com/spr/\">"
    					+"		<SOAP-ENV:Body>"
    					+"				<ns6:User_Info_Response>"
    					+"				<IsSuccess>0</IsSuccess>"
    					+"				<ErrorDesc>success</ErrorDesc>"
    					+"			</ns6:User_Info_Response>"
    					+"		</SOAP-ENV:Body>"
    					+"    </SOAP-ENV:Envelope>";
    		
    		String context = null;
    		// 截取<ErrorDesc> </ErrorDesc> 标签中的内容
    		String xml = "ErrorDesc";
    		context = regexLabel(inXml,"ErrorDesc");
    		System.out.println(context);
    		}
    
    	// 截取内容的函数
    	public static String regexLabel(String xml,String label) {
    		String context = "";
    		//正则表达式		
    		String regex = "<"+label+">(.*?)</"+label+">";
    		        Pattern pattern = Pattern.compile(regex);
    		        Matcher m = pattern.matcher(xml);
    		        List<String> list = new ArrayList<String>();		       		
    		        while(m.find()){
    			    int i = 1;
    			    list.add(m.group(i));
    			    i++;			    
    		        }
    		        if(list.size() > 0){
    		        	context = list.get(0);
    		        }
    		        return context;		
    		}
    }
    

    运行结果截图:
    在这里插入图片描述

    展开全文
  • java正则表达式字符串截取数字

    千次阅读 2019-04-26 10:28:35
    获取字符串中的价格,因为价格不稳定无法通过subString来截取,只能匹配其中的数字。 代码: String code = "100元/年"; //匹配非数字字符,然后全部替换为空字符,剩下的自然只有数字啦 String s = Pattern....

    例如字符串:
    20元/周
    100元/年

    想要获取字符串中的价格,因为价格不稳定无法通过subString来截取,只能匹配其中的数字。
    代码:

    		String code = "100元/年";
            //匹配非数字字符,然后全部替换为空字符,剩下的自然只有数字啦
            String s = Pattern.compile("[^0-9]").matcher(code).replaceAll("");
            //打印结果 100
            System.out.println(s);
    
    展开全文
  • JAVA 正则表达式

    热门讨论 2010-01-15 11:16:37
    正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 自从 jdk1.4 推出 java.util.regex 包,就为我们提供了很好的 JAVA 正则表达式应用平台。 因为正则表达式是一个很庞杂的体系,所以我仅例举些...
  • JAVA正则表达式

    2014-10-22 17:38:29
    正则表达式通过一些符号体现,常用于校验。简化了书写。缺点:阅读性较差。 用于操作字符串,底层是对Pattern对象的操作。 正则表达式度对字符串的常见操作: 匹配:String的matches方法。 截取:String的...

    正则表达式:通过一些符号体现,常用于校验。简化了书写。缺点:阅读性较差。

    用于操作字符串,底层是对Pattern对象的操作。

    正则表达式度对字符串的常见操作:

    匹配:String的matches方法。

    截取:String的split方法。

    替换:String的replaceAll方法。

    获取:Pattern对象和Matcher对象

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class RegularExpresseion {
    
    	public static void main(String[] args) {
    		//截取
    		String s = "hhhh  3333    hafew";
    		String[] split = s.split(" +");
    		for (String string : split) {
    			System.out.println(string);
    		}
    		
    		String s3 = "111111.65756756.432423";//转义字符如果是.需要\\.
    		String[] split3 = s3.split("\\.");
    		for (String string : split3) {
    			System.out.println(string);
    		}
    		
    		String s2 = "54754trhrttttsfsdfsdfmmmmmmnoe@@sfe";
    		String[] split2 = s2.split("(.)\\1+");
    		for (String string : split2) {
    			System.out.println(string);
    		}
    		//替换
    		String s4 = "abccddeeffghhhhhhhhhhhhijkllmmnooopqqqrrrsst";
    		String split4 = s4.replaceAll("(.)\\1+","$1");//$获取前一个分组
    			System.out.println(split4);
    		
    		String s5 = "13854681125";
    		String split5 = s5.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");//$获取前一个分组
    		System.out.println(split5);
    		//获取
    		String s6 = "da jia hao ming tian fang jia la";
    		Pattern pattern = Pattern.compile("\\b[a-z]{3}\b");
    		Matcher matcher = pattern.matcher(s6);
    		while(matcher.find()){
    			System.out.println(matcher.group());
    		}
    	}
    }


    展开全文
  •  如何用正则截取我想要的数据,如给定你一个字符串:"#&123&# #&344&#" 我希望得到123 和 344 怎么办? 问题分析 :  用正则根据模式匹配,通过我所要的数据所在的分组,得到结果。用到java.util.regex下的两个类:...
  • 一. 正则表达式的语法二. Java中正则表达式的使用首先,将需要匹配的正则表达式使用String表示出来,注意:因为Java的string中\表示...通过pattern.matcher(String string)对带匹配字符串进行匹配。截取匹配字...
  • 展开全部给你推荐java 字符e69da5e6ba903231313335323631343130323136353331333365653739串截取的三种方法:split()+正则表达式来进行截取。将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会...
  • 1.通过正则表达式获取: String str = "你好呀(嘻嘻)"; Pattern p = Pattern.compile("\\(([^\\)]+)"); Matcher matcher = p.matcher(str); if (matcher.find() && matcher.groupCount() >= 1){
  • java 截取字符串获取子字符串

    万次阅读 2017-09-14 10:46:13
    方法三通过正则表达式解决两种方法: substring(int beginIndex): 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。 substring(int beginIndex,int ...
  • [code="java"] /** * 根据宝贝URL截取宝贝ID * ... * 截取后为32位的字符串:d57b90f4c406fe1ee1517884dafe338b * http://item....
  • 1.split()+正则表达式来进行截取。将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。String str = "abc,12,3yy98,0";String[] strs=str.split(",");...
  • java中提供了很多字符串截取的方式。下面就来看看大致有几种。1.split()+正则表达式来进行截取。将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时...
  • 1、split()+正则表达式来进行截取。 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。 String str = "abc,12,3yy98,0"; String[] strs=str.split(...
  • 众所周知,java提供了很多字符串截取的方式。下面就来看看大致有几种。1.split()+正则表达式来进行截取。将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则...
  • 1.split()+正则表达式来进行截取。 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。String str = "abc,12,3yy98,0"; String[] strs=str.split(",...
  • 1.split()+正则表达式来进行截取。  将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。 2.通过subString()方法来进行字符串截取。  2.1、...
  • 展开全部1.split()+正则表达式来进行截取。将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会e5a48de588b63231313335323631343130323136353331333365646263有很大的性能损耗,因为分析正则...
  • String截取字符串

    2018-07-19 13:57:10
    众所周知,java提供了很多字符串截取的方式。下面就来看看大致有几种。 1.split()+正则表达式来进行截取。 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析...
  • 1.split()+正则表达式来进行截取。将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。String str = "abc,12,3yy98,0";String[] strs=str.split(",");...
  • 众所周知,java提供了很多字符串截取的方式。下面就来看看大致有几种。1.split()+正则表达式来进行截取。将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则...
  • 截取字符串的三种方法

    万次阅读 2017-09-22 14:23:42
    众所周知,java提供了很多字符串截取的方式。下面就来看看大致有几种。 1.split()+正则表达式来进行截取。 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析...
  • 众所周知,java提供了很多字符串截取的方式。下面就来看看大致有几种。 1.split()+正则表达式来进行截取。 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则...
  • java 字符串截取的几种方式

    万次阅读 多人点赞 2016-06-07 16:15:56
    众所周知,java提供了很多字符串截取的方式。下面就来看看大致有几种。 1.split()+正则表达式来进行截取。 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析...
  • Java字符串截取总结

    2017-06-03 08:57:37
    众所周知,Java提供了很多字符串截取的方式。下面就来看看大致有几种。 
1.split()+正则表达式来进行截取。 
将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析...
  • Java 字符串截取

    2018-10-25 18:46:33
    1. split()+正则表达式 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。 String str = &amp;quot;app-hello-world&amp;quot;; ...
  • 1.split()+正则表达式来进行截取。 将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。 ...

空空如也

空空如也

1 2 3 4 5
收藏数 87
精华内容 34
关键字:

java通过正则表达式截取字符串

java 订阅