簡體   English   中英

TextView,EditText和Java正則表達式

[英]TextView, EditText and Java regex

當它包含3個字符時,我的按鈕應在editView的TextView上設置文本。

我使用Java模式,但可能不正確,因為什么也沒發生。

有人知道這是怎么回事嗎?

b1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Pattern Pattern = Pattern.compile(".*\\w(3).*");
        Matcher matcher = pattern.matcher(et1.getText().toString());
        if (matcher.matches()) {
            tv1.setText(et1.getText().toString());
        }
    }
});

存在語法問題,因為(3)會嘗試匹配3而不是三個字符, .*\\\\w(3).*會匹配任何字符,然后是單詞字符,然后是數字3然后是任何字符。

它應該是.*\\\\w{3}.* ,其中{}用於定義范圍,而()用於定義捕獲組。

盡管對於字符,它應該為.*[a-zA-Z]{3}.*因為\\\\w還要匹配數字和_

對於數字,請使用: .*[a-zA-Z\\d]{3}.*

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM