Как написать регулярное выражение в Java - PullRequest
0 голосов
/ 05 сентября 2018
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Client {
    public static void main(String[] args) {

        String str = "123 876 644";
        String str2 = "123 876 644 345";

        // how to write pattern ?
        Pattern pattern = Pattern.compile("123 876 644");

        Matcher m = pattern.matcher(str);
        if (m.find()) {
            System.out.println("aa");
        }

        Matcher m2 = pattern.matcher(str2);
        if (m2.find()) {
            System.out.println("bb");
        }

    }
}

Я хочу напечатать aa, и не хочу печатать здесь bb. Что я должен написать шаблон Pattern pattern = Pattern.compile("123 876 644");

Кто-нибудь может мне помочь, пожалуйста.

1 Ответ

0 голосов
/ 05 сентября 2018

Шаблон «123 876 644» существует как в str, так и в str2, поэтому он будет печатать как «aa», так и «bb». При выполнении Pattern pattern = Pattern.compile () попробуйте использовать его с регулярным выражением, которого нет в str2, но есть в str. Если вы назначите str = 123 876 644 345; str2 = 123 876 6644; а затем использовать Patter.compile ("123 876 644") выполняется только println bb.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...