Я пытаюсь написать регулярное выражение в Java, чтобы соответствовать буквенно-цифровой строке, которая может иметь *.Но если он содержит *, то он должен быть в конце этой строки.Он может содержать только одно *
Ниже ввод должен возвращаться true
abcd
abcd*
*
Где, как показано ниже, ввод должен возвращать false
, так как он содержит *, который не находится в конце этой строки
abc*d
abcd**
Я пытался написать программу Java, как показано ниже, но она не работает
public static void main(String[] a){
String pattern = "[a-zA-Z0-9]+[\\*]$";
String test = "abcd*";
System.out.println(test.matches(pattern));
}
Возвращается true
для abcd*
, но не для abcd
и *
Пожалуйста, дайте мне знать, как исправить это регулярное выражение.Спасибо