[英]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.