我可以否定点吗?

时间:2014-10-03 18:15:22

标签: java regex

以下正则表达式匹配字符a:

"a"

以下正则表达式匹配除a:

之外的所有字符
"[^a]"

以下正则表达式匹配大量字符:

"."

如何匹配"."不匹配的所有内容?我不能使用与上面相同的技术:

"[^.]"

因为在括号内,.改变了含义,仅代表字符.本身:(

2 个答案:

答案 0 :(得分:3)

以下否定前瞻将起作用。

(?:(?!.)[\S\s])

Java正则表达式,

"(?:(?!.)[\\S\\s])"

DEMO

上述正则表达式背后的理念是,它只匹配\r\n\t\f,这些字符与点不匹配(多行模式)。

答案 1 :(得分:0)

"[^\\.]"

对正则表达式使用的字符使用双反斜杠。例如

\\.\\]\\[\\-\\)\\(\\?