Android Regex土耳其语字符不允许(i,ş,ö...)

时间:2017-01-30 13:50:54

标签: regex

我使用那个正则表达式字符串:

final String regexStr = "^[a-zA-Z ]+$";

但我不能写我,ö,ü...... 但我可以,你,你......

TextChangedListener:

        txtSicilAdi.addTextChangedListener(new TextWatcher() {
        @Override
        public void afterTextChanged(Editable s)
        {
            String text = txtSicilAdi.getText().toString();
            if (text.length() > 0) {
                if (!text.substring(text.length() - 1).matches(regexStr))
                {
                    txtSicilAdi.setText(text.substring(0, text.length() - 1));
                    txtSicilAdi.setSelection(txtSicilAdi.length());
                }
            }
        }
        @Override
        public void onTextChanged(CharSequence s, int st, int b, int c){ }
        @Override
        public void beforeTextChanged(CharSequence s, int st, int c, int a){ }
    });

2 个答案:

答案 0 :(得分:1)

试试这个:

final String regexStr = "^[a-zA-Z0-9ığüşöçİĞÜŞÖÇ ]+$";

答案 1 :(得分:1)

要考虑所有字母而不仅仅是非强调字母,您可以使用\p{L}

你的正则表达式应如下所示:

^[\p{L} ]+$