2

所以我是 Java 新手,在使用正则表达式时遇到了一些麻烦。我试图在一个字符串中找到带翼的注释(/* */)和行尾注释(//),这样我就可以沿着它们拆分并将这些片段放入一个数组中。

这是我目前拥有的正则表达式:

stringofstuff.split("[!//.*?\n!]");

它有效,但我的问题是它也匹配字符“。” 所以当字符串包含一个数字时90.55,我的数组看起来[90, 55]不是我想要的。我尝试^\\.在右方括号后添加到正则表达式的末尾:

stringofstuff.split("[!//.*?\n!]^\\.");

它成功地不匹配.,但它不再识别任何一种类型的评论!我不知道我哪里出错了,有什么建议吗?

4

1 回答 1

0

您可以使用正则表达式包的模式和匹配器来执行此操作。例如查找数字:

Pattern p = Pattern.compile("\\d");
Matcher m = p.matcher(string);
if(m.find())
{
     System.out.println(m.start()+" "+m.end()+" "+m.group);
}

同样,您可以对要分离的字符串进行不同的组合,并将它们存储在 m.group() 中。

有关 regex 包的不同组合和更多信息,您可以在此处查看:

http://www.regular-expressions.info/java.html

于 2012-11-30T16:21:42.353 回答