java - 正则表达式-没有特定字符串的前缀和后缀

标签 java regex

我需要您帮助解决以下问题。

我正在尝试定义一个正则表达式来表示 Java 中的有效注释。

为此,我想要一个前缀:"/\*" + 包括换行符和制表符在内的所有内容,但不是另一个 "\*/"+ 后缀 “*/”

我尝试了这个:"/\*"[^"\*/"]"\*/" 但它不起作用。它将 /*fdfsd */*/ 作为一个有效的注释

我应该做什么?

最佳答案

你可以尝试使用

yourString.matches("/[*]((?![*]/).)*[*]/")

这将在开始处匹配 /* 并在结束处匹配 */ 。在中间我使用negative look-ahead测试字符(由点表示)是否不是 */ 中的第一个 *。当然,它涉及很少的回溯,因此性能可能会得到提高,但目前它已经可以解决问题了。

关于java - 正则表达式-没有特定字符串的前缀和后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19775438/

相关文章:

javascript - 正则表达式:匹配文本段落中的所有内容,特定短语除外

regex - Notepad++ - 如何将字符添加到行首

java - 为什么子弹射程大于1000

Java 8 : Stream, NIO 和 Lambda

java - 集成 Pentaho/Talend/等使用 OR 映射器

java - 重复捕获组与捕获重复组

java - 在 JSP 页面中获取 List.size() 的值?

java - 从位于资源 glassfish java 中的文件读取

python - 返回包含 python 字典中特定文本的所有值

java - 创建java正则表达式来获取href链接