Java swing JTable行筛选器忽略符号
这是我过滤Java swing JTable行筛选器忽略符号,java,regex,swing,jtable,rowfilter,Java,Regex,Swing,Jtable,Rowfilter,这是我过滤JTable的代码“文本”是要在表中搜索的输入文本 getSorter().setRowFilter(RowFilter.regexFilter("(?i)" + Pattern.quote(text))); 这里的过滤不区分大小写。如何在筛选过程中忽略某些符号,如-()+,如在筛选过程中应匹配的+88-11和8811。创建行筛选器的自定义实现。在该方法中,包括: 对字符串调用replaceAll()方法以删除要排除的特殊字符 然后搜索与您的搜索模式匹配的内容 根据是否匹配返回真/
JTable
的代码<代码>“文本”是要在表中搜索的输入文本
getSorter().setRowFilter(RowFilter.regexFilter("(?i)" + Pattern.quote(text)));
这里的过滤不区分大小写。如何在筛选过程中忽略某些符号,如
-()+
,如在筛选过程中应匹配的+88-11和8811。创建
行筛选器的自定义实现。在该方法中,包括:
- 对字符串调用
replaceAll()
方法以删除要排除的特殊字符李>
- 然后搜索与您的搜索模式匹配的内容
- 根据是否匹配返回真/假
创建行筛选器的自定义实现。在该方法中,包括:
- 对字符串调用
replaceAll()
方法以删除要排除的特殊字符李>
- 然后搜索与您的搜索模式匹配的内容
- 根据是否匹配返回真/假
我假设您将能够采用以下模式(完全满足您的标准)来满足您所需的模式:
String pattern = "([\\Q+-*/\\E]?+\\d+)+"
简单输入:
+25+36
25+36*36
2536
和另一个相似,结果正好是一场比赛
工作方式:
[\\Q+-*/\\E]
是匹配+,-,*,/
中的任何一个,并且?+
作为量词放在后面:aX?+
表示X
发生一次或根本不发生李>
\\d+
是一种与一个或多个数字匹配的模式
让X=[\\Q+-*/\\E]?+\\d+
,(X)
:将X
匹配为捕获组,并且(X)+
意味着该组将至少出现一次或多次
看看这本书 我假设您将能够采用以下模式(完全满足您的标准)来满足您所需的模式:
String pattern = "([\\Q+-*/\\E]?+\\d+)+"
简单输入:
+25+36
25+36*36
2536
和另一个相似,结果正好是一场比赛
工作方式:
[\\Q+-*/\\E]
是匹配+,-,*,/
中的任何一个,并且?+
作为量词放在后面:aX?+
表示X
发生一次或根本不发生李>
\\d+
是一种与一个或多个数字匹配的模式
让X=[\\Q+-*/\\E]?+\\d+
,(X)
:将X
匹配为捕获组,并且(X)+
意味着该组将至少出现一次或多次
看看这本书