2013-05-08 332 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

相關問題