-2
public class T_token implements Lexer{
static Pattern p = Pattern.compile("\\(| \\) | a");
static Matcher d = p.matcher("(a)");
public static void main(String[] args) {
while (d.find()) {
System.out.println(d.group());
}
}
當我編譯和運行這個,輸出爲:模式匹配器不接受括號
run:
a
BUILD SUCCESSFUL (total time: 0 seconds)
所以我給匹配器的輸入(變量d)爲字符串「(A)」,但它只打印出一個,而不是左括號和右括號......可以有人告訴我,我怎麼能解決這個問題?
仔細閱讀'Pattern'的Javadoc。由於未轉義的括號是用於分組的元字符,因此必須轉義字面括號。我建議你停下來花點時間學習正則表達式的語法和語法。網上有很多資源,以及Javadoc。 –
你的實際問題是什麼?你想達到什麼目的? – Tunaki
我輸入的是(a)和因此我希望它打印(a),但它忽略了缺少,我編輯我的代碼有\\(和\\)但它仍然不起作用 – digeridoo