Java 正则表达式 : matching comments and NOT matching specific character

标签 java regex comments pattern-matching

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

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

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

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

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

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

最佳答案

您可以使用正则表达式包的模式和匹配器来做到这一点。 例如查找数字:

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

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

有关正则表达式包的不同组合和更多信息,您可以在此处查看:

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

关于Java 正则表达式 : matching comments and NOT matching specific character,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13648662/

相关文章:

java - 将 JVM 字节码往返于文本表示并返回的故障安全方式

emacs - Emacs 中函数的注释

c - 禁用 Eclipse 项目中所有函数/方法调用的出现

java - 如何设置一个使用 sqlite4java 的简单 gradle 项目?

java - 无法使用开放式 SSL 解密 RSA 数据

java - 如何在 IntelliJ IDE 中创建代码模板

regex - 正则表达式转英文

jQuery 正则表达式验证 : unsigned integer or float (max 2 decimal), 只有点,没有逗号

Java 正则表达式 - 如何替换模式或如何

python - 在 Python 脚本中突出显示注释