Моя следующая программа печатает странные результаты, которые я не понимаю, я думаю, это связано с моим отсутствием большого понимания Java Regex. Поэтому я хочу сначала разделить testStr
на период, а затем проверить, содержит ли каждое предложение алфавит или числа. Но удивительно, что я получил следующий вывод, который противоположен моему желанию:Java Regex: проверьте, содержит ли предложение только алфавит и цифры
blah blah1 is not a character!
blah blah2 is not a character!
blah blah3 is not a character!
??** is not a character! // only this output is expected
мой код ниже:
String testStr = "blah blah1. blah blah2. blah blah3. ??**...";
String[] myStrArray = testStr.split("[.]");
System.out.println("length of myStrArray is: " + myStrArray.length);
for (String str : myStrArray) {
if (!Pattern.matches("\\w+", str)) {
System.out.println(str + " is not a character!");
continue;
}
System.out.println("got a meaningful sentence " + str.trim());
}
Каков ваш ожидаемый результат? –
Я ожидаю получить «полезное предложение» для всех предложений, кроме ** ** – TonyGW
'blah blah1 не является символом!' Содержит не только алфавиты, но и пробелы и '!' –