2012-10-18 60 views
0

我有一个能够匹配注释的状态机。所以它可以处理:在正则表达式中匹配任何字符?

/* /* */ */ 

但我陷入了跳过注释行内的内容。目前我正则表达式comments-word看起来有些奇怪:

[0-9A-Za-zA-Z0-9\*\(\*\*\)\.\{\}\_\;\,\-\:" "\@]* 

是否有任何简单的regex(在Java中),所有的字符匹配?字母和特殊字符一起?

感谢您的帮助。

+3

如果你从'Google'获得帮助,你只能在第一个链接中获得答案。元字符点(。)匹配除换行符以外的任何字符。 –

+1

您确定要解析注释中的注释吗? –

+0

这是多么幸运的OP。这个问题没有确切的重复。 –

回答

1

如果要匹配任何字符,请使用.(点)。

See here: Dot

+0

请引用 - 除了换行符 –

1

.匹配任何一次。 .*将匹配0个或更多任何内容,而.+将匹配一个或多个,具体取决于您的需求。

1

.是与所有其他字符匹配的字符,可能除了换行符(取决于是否启用DOTALL)。

如果要匹配除一定字符或两个以外的所有内容,请使用[^...]语法(例如[^0-9a-fA-F]以避免匹配每个十六进制数字)。

将含有点的表达式尾随?添加到匹配尽可能少的字符(如.*?.+?)通常很有用。否则,未终止的点表达式可能与字符串的其余部分匹配。