java正则表达式的子序列是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java正则表达式的子序列是啥相关的知识,希望对你有一定的参考价值。

通过pattern,matcher,用find方法,验证子序列,为什么每次都是true啊,什么是子序列呀,请各位大神赐教啦
public static boolean getSon(String reg,String input)
Pattern pa = Pattern.compile(reg,Pattern.CASE_INSENSITIVE);
Matcher mm = pa.matcher(input);
return mm.find();

public class TestReg
public static void main(String[] args)
System.out.println(getSon("[a-z]+\\d+","abcdasf123asd"));

在字符串里随意添加返回的都是true甚至添加?— 都是true 在这个字符串中那个是子序列啊

参考技术A find()这个方法,是寻找input 中第一个与pattern匹配的子序列,找到返回true,找不到返回false。你的字符串中除了字母就是数字,必然会匹配到。如果是“!!!!!”会返回false。(\d代表0-9任意数字,[a-z]又是所有字母,所以会匹配到,如果没有字母或数字的就匹配不到“affafafa”“2345”都匹配不到) 参考技术B 有代码吗?贴出来我帮你看一下追问

public static boolean getSon(String reg,String input)
Pattern pa = Pattern.compile(reg,Pattern.CASE_INSENSITIVE);
Matcher mm = pa.matcher(input);
return mm.find();

追答import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Reg 
public static boolean getSon(String reg, String input) 
Pattern pa = Pattern.compile(reg, Pattern.CASE_INSENSITIVE);
Matcher mm = pa.matcher(input);
return mm.find();


public static void main(String[] args) 
System.out.println(getSon("[a-z]+\\\\d+", "234d"));
//我把要匹配的字符串改成上面那样的,就返回的是false啊
//该匹配器匹配的就是前面是字母后面是数字的字符串啊


//你看我的截图

本回答被提问者采纳

Java Pattern的用法是啥?

参考技术A

java 中pattern为正则表达式的编译表示形式。指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。例子如下:

Pattern p = Pattern.compile("a*b");

Matcher m = p.matcher("aaaaab");

boolean b = m.matches

在仅使用一次正则表达式时,可以方便地通过此类定义 matches 方法。此方法编译表达式并在单个调用中将输入序列与其匹配。

java 中pattern为正则表达式的编译表示形式。指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个匹配器可以共享同一模式。例子如下:

Pattern p = Pattern.compile("a*b");

Matcher m = p.matcher("aaaaab");

boolean b = m.matches

在仅使用一次正则表达式时,可以方便地通过此类定义 matches 方法。此方法编译表达式并在单个调用中将输入序列与其匹配。

以上是关于java正则表达式的子序列是啥的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式

正则表达式

java 正则表达式 ^java 是啥意思

java 正则表达式是啥?

java正则表达式中是啥意思

JAVA正则表达式怎么匹配所有符合要求的子字符串