2

我可以搜索除数字之外的每一列。我无法搜索数字列。因为我将正则表达式设为

RowFilter<MyTableModel, Object> rf = null;
//If current expression doesn't parse, don't update.
try {
    rf = RowFilter.regexFilter(filterText.getText(), 0,1,2,3,4);
} catch (java.util.regex.PatternSyntaxException e) {
    return;
}
sorter.setRowFilter(rf);

谁能帮我找到正确的正则表达式。当前的正则表达式不适用于“+”。如果我打印异常,它将显示

meta character '+' near index 0 (java.util.regex.PatternSyntaxException)

我可以使用这个正则表达式搜索除数字之外的当前表列RowFilter.regexFilter(filterText.getText(), 0,1,2,3,4);

FirstName   LastName     Number

Karthy      Smith        +123
John        Doe          +234
Sue         Black        +545
Jane        White        +895reading
4

1 回答 1

1

尝试

rf = RowFilter.regexFilter(Pattern.quote(filterText.getText()), 0,1,2,3,4);

可能(并且filter.getText()在您的情况下)包含正则表达式元字符或转义序列,它们使用Pattern.quote().

于 2013-02-06T11:19:34.373 回答