2013-05-08 314 views
1

我需要知道一个给定的字符串是否包含任何字符*.=,?:的。我尝试(使用str.contains):正则表达式字符串包含

  • [*?=:] &也
  • [^*?=:] &也
  • ^[*?=:]

他们都不似乎工作。

任何人都可以让我知道了正则表达式来做到这一点?

回答

4

String.contains搜索指定的字符序列 - 它不使用正则表达式。相反,使用:

s.matches(".*[*.=,?:].*") 

这其中包含的任何字符的任意字符串,然后是你提到的人物之一,后跟任意字符匹配。

+0

Thnaks很多..它的工作.. – user2349990 2013-05-08 04:21:25

5

contains并不需要一个正则表达式,但一个简单的字符串,作为参数。因此,在你的榜样,它会寻找字符的字符串中的这个确切的序列:[*?=:]

你也可以使用String.matches

str.matches(".*[*.=,?:]+.*"); 
+2

我认为他想比赛逗号太 – nullptr 2013-05-08 03:45:12

+0

你能告诉我为什么这+是必要的。(“* [* =,:?]。*”)似乎为我工作。 – user2349990 2013-05-08 04:21:50

+0

@ user2349990这不是(必要)。 – assylias 2013-05-08 04:22:24

相关问题