Java字符串match()方法

时间:2020-01-09 10:34:55  来源:igfitidea点击:

在这篇文章中,我们将看到如何使用Java String match()方法,该方法告诉String是否匹配给定的正则表达式。如果我们有一堆字符串,并且想要通过将指定的模式作为正则表达式传递来分离特定类型的字符串,则此方法很有用。

String类中的matches()方法

  • boolean match(String regex)–判断此字符串是否与给定的正则表达式匹配。

如果字符串与给定的正则表达式匹配,则方法返回true,否则返回false。如果正则表达式的语法无效,则会引发PatternSyntaxException

Java match()方法示例

1.在下面的示例中,有两个字符串,matches方法用于匹配具有正则表达式的字符串。正则表达式。表示任意数量的字符,因此。theitroad。*表示在线之前和之后的任意数量的字符。

public class StringMatch {
  public static void main(String[] args) {
    String str1 = "In technical blog theitroad you will find many interesting Java articles";
    String str2 = "Java programming language is the most used language";
    System.out.println("theitroad found in str1- " + str1.matches(".*theitroad.*"));
    System.out.println("theitroad found in str2- " + str2.matches(".*theitroad.*"));

    System.out.println("Java found in str1- " + str1.matches(".*Java.*"));
    System.out.println("Java found in str2- " + str2.matches(".*Java.*"));
  }
}

输出:

theitroad found in str1- true
theitroad found in str2- false
Java found in str1- true
Java found in str2- true

2.在字符串列表中,我们要匹配仅包含字母的那些字符串。本示例中使用的正则表达式[a-zA-Z] +与小写字母和大写字母都匹配。

public class StringMatch {
  public static void main(String[] args) {
    List<String> strList = Arrays.asList("abc", "1a2b", "839", "Toy");
    for(String str : strList) {
      // regex to match alphabets
      if(str.matches("[a-zA-Z]+"))
        System.out.println(str);			
    }
  }
}

输出:

abc
Toy