Java的正則表達式我用正則表達式來檢查字符串:對雙引號
String a = "ABC(hello) or DEF("indianbatsmen") or GHK(welcome);
在這裏,我將不得不檢查現場DEF有雙引號或沒有。
我試着用:
if(!a.contains("DEF(\"w\")")){ }
它沒有工作。
Java的正則表達式我用正則表達式來檢查字符串:對雙引號
String a = "ABC(hello) or DEF("indianbatsmen") or GHK(welcome);
在這裏,我將不得不檢查現場DEF有雙引號或沒有。
我試着用:
if(!a.contains("DEF(\"w\")")){ }
它沒有工作。
試試這個:
boolean foundMatch = false;
Pattern regex = Pattern.compile("\\bDEF\\(\"[^\"]+\"\\)\\s+");
Matcher regexMatcher = regex.matcher(subjectString);
foundMatch = regexMatcher.find();
不,這失敗如果你的字符串包含轉義的引號。
我會提供同樣的方式。由於String.contains()與RegEx沒有任何關係,因此它會在沒有RegEx編譯的情況下將給定的charSeq搜索到字符串中。 – Thargor
看起來你已經嘗試使用正則表達式語法與\w
- 但你可能想要的是\w+
(如果您需要在引號之間至少有一個字符)\w*
或者(如果允許0或多個字符)。您還需要使用\(
來避開括號。
接下來,您只需要使用正則表達式方法。 .contains
只是做一個簡單的字符串搜索。使用Pattern
和Matcher
類將在這裏幫助。
爲什麼你必須使用正則表達式? – mcfinnigan
這個問題很糟糕,標題根本不相關。它會受益於從我這裏得到的一個好評,直到這個問題得到解決。 – Romain