Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用正则表达式模式匹配_Java_Regex - Fatal编程技术网

Java 如何使用正则表达式模式匹配

Java 如何使用正则表达式模式匹配,java,regex,Java,Regex,在SQL中,我们可以使用like关键字进行搜索。 前, 这些单词可以通过查询来检索:比如'p_tt%' 如何在java中执行相同的过程。您可以这样做: String str1 = "MyString lalaa"; String str2 = "P_tt other string lala"; String pattern = "P_tt\\.*"; boolean isInStr1 = str1.matches(pattern); // return false boolean isInStr

在SQL中,我们可以使用like关键字进行搜索。 前,

这些单词可以通过查询来检索:
比如'p_tt%'


如何在java中执行相同的过程。

您可以这样做:

String str1 = "MyString lalaa";
String str2 = "P_tt other string lala";
String pattern = "P_tt\\.*";
boolean isInStr1 = str1.matches(pattern); // return false
boolean isInStr2 = str2.matches(pattern); // return true

但请记住,
LIKE
不会按regexp模式进行搜索。在Java中,可以使用简单的regexp模式。在我的示例中,我建议使用“
putt.*
”,这意味着“
putt
”—您的常量单词和“
\.
”—任何字符(包括空格、制表符和其他字符),
*
是平均迭代量<代码>*-零或更多。

您可以使用java.util.regex.Pattern。 例如:

在您的情况下,它将是:

 Pattern p = Pattern.compile("P_tt\\.*");
 Matcher m = p.matcher("aaaaab");
 boolean b = m.matches();
有关更多信息,请访问Java文档:

发布您尝试了什么如果我的回答对您有帮助,您能接受吗?或者请说我应该更正什么。
List tList=newarraylist(Arrays.asList(newstring[]{“Putty”、“Pattern”、“Pety”、“PPP”、“satt”);模式p=Pattern.compile(“p_tt\\\.*);对于(String str:tList){Matcher m=p.Matcher(str);boolean b=m.matches();log.info(“str>>”+str+“b>>”+b);}
@Michal-我已经试过了。它只返回false。我的测试方法正确吗?
 Pattern p = Pattern.compile("a*b");
 Matcher m = p.matcher("aaaaab");
 boolean b = m.matches();
 Pattern p = Pattern.compile("P_tt\\.*");
 Matcher m = p.matcher("aaaaab");
 boolean b = m.matches();