标签: java regex
我正在尝试匹配整个字符串中除垃圾值之外的所有内容。我尝试使用的模式是:
^.*(?!\w|\s|-|\.|[@:,]).*$
我一直在测试regexPlanet上的模式,这似乎与整个字符串匹配。我使用的输入字符串是:
Vamsi///#k03@g!!!l.com 123**5
我怎样才能让它只匹配除模式之外的所有内容,我想替换任何与空格或我选择的特殊字符匹配的字符串。
答案 0 :(得分:5)
编写的模式应该与整个字符串匹配。
^ - 字符串的开头。 .* - 零个或多个任何字符。 (?!\w|\s|-|\.|[@:,]) - 对某些角色采取负面预测 .* - 零个或多个任何字符。 $ - 字符串结尾。
^
.*
(?!\w|\s|-|\.|[@:,])
$
如果您只想匹配不是提供的字符之一的字符,请尝试简单:
[^-\w\s.@:,]
[^...]是一个否定的字符类,它将匹配括号中未提供的任何字符。有关详细信息,请参阅this。
[^...]
Test