正则表达式。 Java中的运算符

时间:2014-08-26 18:41:22

标签: java regex

我在一个文件中搜索一个字符串,该文件中包含任何非数字字符且没有美元符号。 当我使用

[\\D&&[^$]]+ 

它有效,但如果我使用

[.&&[^$]]+

代码不起作用。任何人都可以解释原因。

2 个答案:

答案 0 :(得分:1)

为什么

char类.中的[]点意味着一个点,而不是任何字符,因为它在字符类之外工作。

解决方案

你正在寻找的是一个否定的角色类:

RegEx:[^0-9$] live demo

答案 1 :(得分:0)

在字符类[]内,.字符不是通配符,而是实际的点。你不需要将点与你的"不是" char,你可以简单地写[^$0-9 ]+(但这不是你想要的)。