2 回答

TA貢獻1735條經驗 獲得超5個贊
這個表達式可能有點復雜,也許我們可以這樣開始:
.{1,10}[^\s](?=\s|$)
import java.util.regex.Matcher;
import java.util.regex.Pattern;
final String regex = ".{1,10}[^\\s](?=\\s|$)";
final String string = "James has gone out for a meal.";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
正則表達式電路
jex.im可視化正則表達式:

TA貢獻1829條經驗 獲得超13個贊
首先,刪除所有雙空格(如果存在)并應用此正則表達式。
.{1,11}(?:\s|$)|.{1,11}(?:[^\s]|$)
但我會使用 split 函數,然后使用“for 子句”計算長度。
添加回答
舉報