标点符号上的正则表达式
所以我对正则表达式完全陌生,我正在尝试使用Java来查找输入字符串中的标点符号。我不知道我会提前得到什么样的标点符号,除了(1)!, ?, ., ...都是有效的标点符号,(2)“<”和“>”表示特殊的东西,不算标点符号。程序本身会伪随机地构建短语,我想在句子通过随机过程之前去掉句子末尾的标点符号。java.util.regex
我可以将整个单词与任何标点符号匹配,但匹配器只是为我提供该单词的索引。换句话说:
Pattern p = Pattern.compile("(.*\\!)*?");
Matcher m = p.matcher([some input string]);
将抓取末尾带有 a 的任何单词。例如:"!"
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(...)