Я пытаюсь найти точное слово, используя 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 ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Руководитель, чтобы запечатлеть все между повторной группой захвата [закрыто]
Anonymous » » в форуме C++ - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-