首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >标点符号上的正则表达式

标点符号上的正则表达式
EN

Stack Overflow用户
提问于 2012-07-29 06:19:46
回答 1查看 103.7K关注 0票数 30

(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());

结果是-->字符串匹配~ "day!“

但是我想让Matcher只对"!"进行索引,这样我就可以把它拆分了。

我可能会做大小写,并为我可能得到的每一种标点符号使用String.substring(...),但我希望我在使用正则表达式来做这件事时有一些错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-29 06:24:13

我会尝试一个类似如下的字符类regex

"[.!?\\-]"

[]中添加您希望匹配的任何字符。注意转义任何可能对正则表达式解析器有特殊意义的字符。

然后,您必须使用Matcher.find()遍历匹配,直到它返回false。

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11705112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档