0

我有一个能够匹配评论的状态机。所以它可以处理:

/* /* */ */

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

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

是否有任何简单的正则表达式(在 java 中)匹配所有字符?字母和特殊字符?

谢谢您的帮助。

4

3 回答 3

1

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

见这里:

于 2012-10-18T17:15:49.157 回答
1

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

于 2012-10-18T17:16:19.877 回答
1

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

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

在表达式后面添加一个点通常很有用?,以匹配尽可能少的字符(例如.*?or .+?)。否则,未终止的点表达式可能会匹配字符串的其余部分。

于 2012-10-18T17:16:34.447 回答