2

Number 以外のすべての列を検索できます。数値列を検索できません。正規表現を次のように指定したため

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 に答える