Regex для проекта java - PullRequest
       1

Regex для проекта java

0 голосов
/ 26 мая 2020

Как мне сделать java регулярное выражение для следующих примеров, каждый из которых принимается сканером в виде строки, а регулярное выражение может быть установлено только после того, как сканер принял в каждой части, поэтому регулярное выражение может быть установлено после сканера, например

Scanner scan = new Scanner(System.in);
String veriableName = scan.nextLine();
String studentID = scan.nextLine();
String word = scan.nextLine();
................
//regex can only be set here
String veriableNamePattern = "";
String studentIDPattern="";
String wordPattern="";
.............
if(veriableNamePattern.matches(veriableNamePattern ){
System.out.println(veriableName + " is valid.");
}
else{
System.out.println(studentID + " is valid.");
}

вот примеры, которые я пытаюсь сделать: Имя переменной, состоящее из некоторого символа алфавита c, за которым следует любая последовательность букв или цифр.

Идентификационный номер студента, представленный 7 цифр, которые должны начинаться с 1 и заканчиваться буквой s.

Любое четырехбуквенное слово, заканчивающееся на «ed».

Код продукта, представленный двумя цифрами, за которыми следуют три заглавные буквы.

Найдите все значения от 100 до 999 евро в начале строки.

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Некоторые примеры:

// first letter optionally followed by a letter/number/underscore (\w) group
String variablePattern = "[a-zA-Z]\\w*";

// Sequence of digits starting with 1, followed by 6 digits, ending with 's' or 'S'
String studentIdPattern = "1[0-9]{6,6}s|S";

// Sequence of 2 letters followed by "ed"
String fourEdPattern = "[a-zA-Z]{2,2}ed";


0 голосов
/ 26 мая 2020

Просто ... прочтите свой код, относитесь к нему как к курсовой работе, вы тоже наверняка корректируете:

  1. Вы звоните veriableNamePattern.matches(veriableNamePattern) - не будет, из курс. Вы хотите сопоставить veriableName.

  2. Вы печатаете studentID + " is valid." в обоих случаях, что делает невозможным различие. предположительно вы хотите ввести not где-нибудь во второй строке println.

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