带正则表达式的Android AutoCompleteTextView?

带正则表达式的Android AutoCompleteTextView?,android,regex,textview,autocompletetextview,Android,Regex,Textview,Autocompletetextview,noob到Android,来自iOS,.Net之前的版本,C和Fortran之前的版本 如果我有一个ArrayAdapter,上面有大约1000多个字符串,我如何修改AutoCompleteTextView(或MultiAutoCompleteTextView或任何派生类),以便用正则表达式修改字符串的匹配条件 用一个简短的例子更容易理解: ArrayAdapter的典型内容: W 20 x 100 W 16 x 89 -> 1 W 16 x 15 -> 2 WT 8 x

noob到Android,来自iOS,.Net之前的版本,C和Fortran之前的版本

如果我有一个ArrayAdapter,上面有大约1000多个字符串,我如何修改AutoCompleteTextView(或MultiAutoCompleteTextView或任何派生类),以便用正则表达式修改字符串的匹配条件

用一个简短的例子更容易理解:

ArrayAdapter的典型内容:

W 20 x 100
W 16 x 89    -> 1
W 16 x 15    -> 2
WT 8 x 44
C 9
我想忽略用户是否使用空格或/和小写字母“x”来显示可能匹配的列表'


因此,如果用户键入
W 16x
w16x
W16
->1
->2
都将显示在自动完成建议列表中。

既然你是一名编码员,我会让你走上正确的道路。。。这不是写在您的示例中,而是Java/Android中正则表达式的一个通用示例

protected ArrayList<String> splitMsg(SmsMessage smsMessage) {
        ArrayList<String> smt;
        Pattern p = Pattern.compile(".{1,160}");
        Matcher regexMatcher = p.matcher(smsMessage.getMsgBody());
        smt = new ArrayList<String>();
        while (regexMatcher.find()) {
            smt.add(regexMatcher.group());
        }
        return smt;
    }
smsMsgBody_editText.addTextChangedListener(new TextWatcher() {
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        /*
         * Do something fancy like regex match ;)
        */
    }
});