【发布时间】:2013-04-16 03:02:57
【问题描述】:
如何使用正则表达式找到这种模式?
C 样式块 cmets
/* xxxxxxxxxxxx */
【问题讨论】:
-
如果
/*在同一行并且在//之后,意味着它不会开始评论怎么办? -
不,我不需要处理这种情况
-
除了使用正则表达式之外,如果您想全力以赴,您可以使用带有 C(或其他)语言语法的语言解析器。示例有 yacc、javacc、antlr
-
看到这个comment关于识别 C cmets 的问题有关“正确”处理 C cmets 的复杂性(意思是“以 C 编译器必须处理 C cmets 的方式” )。这不是直截了当的。您可能只处理简单的 cmets — 但请考虑编译器编写者。我怀疑还有其他相关的问题和答案。 (不;此问题与所引用的问题不重复。)
-
我尝试使用 java 编写为 "\\/\*(\*(?!\\/)|[^*])*\*\\" 但具有字符串类的匹配功能,它抛出 java.util.regex.PatternSyntaxException 异常:索引 23 附近出现意外内部错误。有人知道为什么吗?
标签: regex