Руководитель поиска точного слова на JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Руководитель поиска точного слова на Java

Сообщение Anonymous »

Я пытаюсь найти точное слово, используя Regex. Моя программа дает неверный вывод: < /p>

public static void main(String[] args) {
String patternStr = "3";

Pattern patternMatcher = Pattern.compile("(\\s|\\W)?"+patternStr+"(\\s|\\W)", Pattern.CASE_INSENSITIVE);

List strList = new ArrayList();
strList.add("3? Message");
strList.add("This is 3 Message ");
strList.add("Hi 33.");
strList.add("Hi [3]");
strList.add("Hi 3!!!");

for(String str : strList) {
Matcher matcher = patternMatcher.matcher(str);
System.out.println(">> "+matcher.find());
}
}
< /code>

o /p is: < /p>

>> true
>> true
>> true
>> true
>> true

But its supposed to be
>> true
>> true
>> false
>> true
>> true
< /code>

Могу ли некоторые сказать мне, что я здесь делаю не так? Он отлично работает для word.length> 1 для ex: < /p>

String patternStr = "Hello";

Pattern patternMatcher = Pattern.compile("(\\s|\\W)?"+patternStr+"(\\s|\\W)", Pattern.CASE_INSENSITIVE);

List strList = new ArrayList();
strList.add("hello? Message");
strList.add("This is Hello Message ");
strList.add("Hi Hellos.");
strList.add("Hi [Hello]");
strList.add("Hi Hello!!!");

for(String str : strList) {
Matcher matcher = patternMatcher.matcher(str);
System.out.println(">> "+matcher.find());
}
}

The o/p is :
>> true
>> true
>> false
>> true
>> true
< /code>

Но для письма это дает неправильный o /p. Кто -нибудь может сказать мне, что я здесь делаю не так ??

Подробнее здесь: https://stackoverflow.com/questions/351 ... rd-in-java

Вернуться в «JAVA»