Я следил за всеми ответами, указанными в this link (я изначально опубликовал этот вопрос) и изменил свое регулярное выражение.Ярлык шаблона Java неправильно оценивает регулярное выражение?
Например, мое регулярное выражение теперь,
String regex = "(?i)[a-zA-Z0-9_.|-]*" + searchString + "(?i)[a-zA-Z0-9_.|-]*";
Я wnat вернуть «testEcho» и «testEcho-1» в качестве поискового выхода, когда я делаю поиск, используя «тест», как мой SearchString.
Но все же я не смог вернуть testEcho и testEcho-1 в качестве своего результата, когда iICE для строки «test».
Мой код Java:
Pattern pattern=Pattern.compile(regex);
Matcher matcher = pattern.matcher(Name)
if (matcher.matches()) {
return XXX;
}
Любая помощь?
Edit:
Pattern pattern=Pattern.compile(regex);
Matcher matcher1 = pattern.matcher("testEcho")
matcher1.matches --------->returns true
Matcher matcher2 = pattern.matcher("testEcho-1")
matcher2.matches --------->returns false
Что вход? Какой результат вы получили? Чего ты ожидал? Что это за возвращение XXX? –
Вы пытались использовать 'matcher.find()'? – BackSlash
вход i s «test», ожидаемый результат - «testEcho» и «testEcho-1». Но теперь я получаю только «testEcho» – Ratha