匹配正则表达式中的任何字符?

时间:2012-10-18 17:14:17

标签: java regex

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

/* /* */ */

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

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

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

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

如果你想匹配任何角色,请使用.(点)。

See here: Dot

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

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