如何在正則表達式的第一次匹配之後返回? (Matcher.find()方法做到這一點嗎?)Java正則表達式在第一次匹配後返回
說我有一個字符串「abcdefgeee」。例如,我想要求正則表達式引擎在找到「e」的第一個匹配後立即找到它。我正在寫一個方法來返回true/false,如果找到了模式,我不想爲「e」找到整個字符串。 (我正在尋找一個正則表達式解決方案)
另一個問題,有時當我使用匹配(),它不會正確返回。例如,如果我編譯我的模式像「[a-z]」。然後使用matches(),它不匹配。但是,當我編譯的模式爲".*[a-z].*"
,它匹配....是Matcher類的matches()方法的行爲?
編輯,這裏是我想要做的。例如,我想在字符串中搜索$符號和@符號。所以我會定義2編譯模式(因爲我知道基本知識我找不到任何邏輯與正則表達式)。
pattern1 = Pattern.compiled("$");
pattern2 = Pattern.compiled("@");
然後我只想用
if (match1.find() && match2.find() ){
return true;
}
在我的方法。
我只希望匹配器搜索字符串的第一次出現並返回。
感謝
你的第一個問題是混淆你說你要返回真/假,但你說你想在找到一場比賽後停止搜索?正則表達式只是匹配或不匹配。 – jzd 2011-01-09 05:00:51
對不起,我已經更新了一些問題。 – ghostdog74 2011-01-09 05:05:59