English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Пример поля DOTALL в Pattern Java

Поле DOTALL класса Pattern включает режим dotall. По умолчанию, символ ‘.’ в регулярном выражении соответствует всем символам, кроме символов分行

Пример 1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DOTALL_Example {
   public static void main( String args[] ) {
      String regex = ".";
      String input = "this is a sample \nthis is second line";
      Pattern pattern = Pattern.compile(regex);
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
         System.out.print(matcher.group());
      }
      System.out.println();
      System.out.println("Количество новых строк символов: \n"+count);
   }
}

Результат вывода

Это образец, это вторая строка
Количество новых строк символов:
36

В режиме точки все, он соответствует любому символу, включая символы分行.

Иными словами, когда вы его используете какcompile()Знак метода, ".", соответствует любому символу, включая символы分行.

пример 2

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DOTALL_Example {
   public static void main( String args[] ) {
      String regex = ".";
      String input = "this is a sample \nthis is second line";
      Pattern pattern = Pattern.compile(regex, Pattern.DOTALL);
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
         System.out.print(matcher.group());
      }
      System.out.println();
      System.out.println("Количество новых строк символов: \n"+count);
   }
}

Результат вывода

это пример
это вторая строка
Количество новых строк символов:
37