Java String matches()方法及实例

Java String matches()方法及实例

matches()方法的变体是用来更准确地告诉你,而不是测试给定的字符串是否与正则表达式相匹配,因为无论何时,这个方法本身被调用为match()或match(),在这里我们传递两个参数,即我们的字符串和正则表达式,其工作和输出保持不变。

matches()方法 存在多种变体,有三种变体 ,下面列出并描述。

变体1:字符串 matches()

这个方法告诉我们这个字符串是否与给定的正则表达式匹配。 str.matches(regex)形式的该方法的调用产生的结果与表达式Pattern.matches(regex, str)完全相同 。

语法

public boolean matches(String regex) 

参数: 这个字符串要被匹配的正则表达式。

返回类型: 布尔值,当且仅当字符串与给定的正则表达式匹配时返回真,否则返回假。

例子

// Java Program to Demonstrate Working of matches() Method
// of String class
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String args[])
    {
  
        // Declaring and initializing a string
        // Input string
        String Str = new String("Welcome to geeksforgeeks");
  
        // Display message for better readability
        System.out.print(
            "Does String contains regex (.*)geeks(.*) ? : ");
        // Testing if regex is present or not
        System.out.println(Str.matches("(.*)geeks(.*)"));
  
        // Display message for better readability
        System.out.print(
            "Does String contains regex geeks ? : ");
  
        // Testing if regex is present or not
        System.out.println(Str.matches("geeks"));
    }
}

输出

Does String contains regex (.*)geeks(.*) ? : true
Does String contains regex geeks ? : false

变体2:字符串 regionMatches()

Java中的字符串matches方法及实例

这个方法有两个变体,可以用来测试两个字符串区域是否相等。

语法

public boolean regionMatches(int str_strt, String other, int other_strt,int len)

参数

  • 该字符串中子区域的起始偏移量
  • 字符串参数
  • 字符串参数中子区域的起始偏移量
  • 要比较的字符数

返回类型: 布尔值,如果这个字符串的指定子区域与字符串参数的指定子区域相匹配,则为真;否则为假。

例子

// Java Program to Demonstrate Working of regionmatches()
// method of String class
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String args[])
    {
        // Declaring and initializing a string
        String Str1
            = new String("Welcome to geeksforgeeks");
  
        // Initializing test string
        String Str2 = new String("GEEKS");
  
        // Tests whether GEEKS starts in geeksforgeeks
        // starting from pos 11 and
        // compares 5 characters of GEEKS
        System.out.print(
            "Checking if GEEKS is in geeksforgeeks( case sensitive ) : ");
        System.out.println(
            Str1.regionMatches(11, Str2, 0, 5));
    }
}

输出

Checking if GEEKS is in geeksforgeeks( case sensitive ) : false

变体3:字符串 regionMatches() With ignoreCase

这个方法有两个变体,可以用来测试两个字符串区域是否相等。

语法

public boolean 
regionMatches(boolean ignoreCase, int str_strt, String other, int other_strt,int len)

参数

  • 该字符串中子区域的起始偏移量
  • 字符串参数
  • 字符串参数中子区域的起始偏移量
  • 要比较的字符数
  • ignoreCase: 如果为真,在比较字符时忽略大小写。

返回类型: 如果该字符串的指定子区域与字符串参数的指定子区域匹配,则返回true;否则返回false。匹配是精确的还是不区分大小写的,取决于ignoreCase参数。

例子

// Java Program to Demonstrate Working of regionmatches()
  
// Main class 
public class GFG {
      
  // Main driver method 
   public static void main(String args[]) {
        
      // Declaring and initializing a string 
      String Str1 = new String("Welcome to geeksforgeeks");
        
      // Initializing a test string
      String Str2 = new String("GEEKS");
        
      // Tests whether GEEKS starts in geeksforgeeks starting from pos 11
      // and from 0 ( i.e starting in GEEKS) and ignores case
      // and compares 5 characters of GEEKS
      System.out.print("Checking if GEEKS is in geeksforgeeks( case insensitive ) : " );
      System.out.println(Str1.regionMatches(true, 11, Str2, 0, 5));
        
   }
}

输出

Checking if GEEKS is in geeksforgeeks( case insensitive ) : true

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程