我需要您帮助解决以下问题。
我正在尝试定义一个正则表达式来表示 Java 中的有效注释。
为此,我想要一个前缀:"/\*"
+ 包括换行符和制表符在内的所有内容,但不是另一个 "\*/"+
后缀 “*/”
我尝试了这个:"/\*"[^"\*/"]"\*/"
但它不起作用。它将 /*fdfsd */*/
作为一个有效的注释
我应该做什么?
最佳答案
你可以尝试使用
yourString.matches("/[*]((?![*]/).)*[*]/")
这将在开始处匹配 /*
并在结束处匹配 */
。在中间我使用negative look-ahead测试字符(由点表示)是否不是 */
中的第一个 *
。当然,它涉及很少的回溯,因此性能可能会得到提高,但目前它已经可以解决问题了。
关于java - 正则表达式-没有特定字符串的前缀和后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19775438/