因此,我對Regular Expressions完全陌生,我試圖使用Java的java.util.regex在輸入字符串中查找標點符號。 (1)!,?,...都是有效的工具,並且(2)「<」和「>」意味着某種特殊的東西,我不會知道提前標點符號的類型,並不算作標點符號。 程序本身是僞隨機構建短語的,我想在句子結束前去掉標點符號,然後再通過隨機過程。標點符號上的正則表達式
我可以將整個單詞與任何標點符號匹配,但匹配器只是給出了該單詞的索引。換句話說:
Pattern p = Pattern.compile("(.*\\!)*?");
Matcher m = p.matcher([some input string]);
會抓住任何帶有「!」的單詞,最後。 例如: - ! 「天」
String inputString = "It is a warm Summer day!";
Pattern p = Pattern.compile("(.*\\!)*?");
Matcher m = p.matcher(inputString);
String match = inputString.substring(m.start(), m.end());
結果>字符串匹配〜
但我希望Matcher索引只是「!」,所以我可以將其分開。
我可能會創建個案,並對每種標點符號使用String.substring(...),但我希望在使用正則表達式時可能會出現一些錯誤。
哦表達!天哪,我甚至沒有注意到這一點。不,它根本不是故意的 - 感謝您提出它! – 2012-07-29 01:52:20