- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
protected void searchFilter(String s, int n)
{
RowFilter<MyTableModel, Object> rf = null;
try {
System.out.println(s);
rf = RowFilter.regexFilter(s, n);
} catch (PatternSyntaxException e) {
System.out.println(e);
}
filters.add(rf);
}
我正在尝试匹配 JTable 中包含括号的字符串。在上面的代码中,字符串参数可以是:约翰(史密斯)
我正在搜索的列:
Jane (Doe)
John (Smith)
John (Smith)
Jack (Smith)
我希望它返回的位置:
John (Smith)
John (Smith)
但是现在它没有返回任何东西。我查看了 Matcher、Pattern 和 RowFilter 的文档,但到目前为止没有任何帮助。
最佳答案
括号是正则表达式中的元字符。因此,您实际上是在尝试匹配 John Smith
(不带括号)。你需要做的就是逃离它们。
Java 有一个内置函数可以自动转义所有元字符:Pattern.quote
.通过此函数运行 s
,它应该会修复它。
另请注意,您可能希望用 ^...$
将模式括起来。否则它会接受包含类似 This is John (Smith) foobar.
的行(因为正则表达式很高兴它可以匹配输入的子字符串)。
关于java - 使用 RowFilter (regexFilter) 匹配括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13777554/
我对 RowFilter 有疑问( its ComparisonType ) 放在一起 正则表达式(字符串)、数字、日期 连同 与、或、或非 不知道怎么办 处理 AND、OR、NOR 的空值 如果 R
我无法完全让它发挥作用,而且我发现的示例仅适用于单个 RowFilter.andFilter 或 RowFilter.orFilter。有没有办法将两者结合起来得到类似 (A || B) && (C
我正在为我的表创建一个带有 JavaScript 的 RowFilter,一切正常,但是当搜索输入中的文本不匹配时,我想显示一条消息(未找到结果...在 的表内) )但我不知 Prop 体该怎么做,这
毫无疑问,这将是一个简单的解决方案,但像往常一样,我被难住了。 我正在尝试使用 JCheckBox 过滤掉 JTable 中不可渲染的字体系列名称。 JTable 包含已安装的字体系列名称(第 0 列
我正在使用扩展 RowFilter 的自定义类来根据列中的 boolean 值过滤我的表 public class MyRowFilter extends RowFilter { @Overr
我想将数据 View rowfilter 值转换为数据表。我有一个有值(value)的数据集。现在我正在使用数据 View 过滤值。现在我想将数据 View 过滤器值转换为数据表。请帮我复制它....
我将尝试为 JXTreeTable 实现 RowFilter,但它不起作用。我的实现是这样的: public class CustomRowFilter extends RowFilter { @Ov
我有一个填充的 JTable 并有一个不区分大小写的行过滤器: RowFilter rf = RowFilter.regexFilter("(?i)"+filterText.getText(), 0)
我将 RowFilter.regexFilter(...) 应用于我的表,但对 Integer 列的过滤无法正常工作。我发现在 RowFilter.RegexFilter.include() 中,要评
我正在使用这段代码来过滤我的行: (dataGridView1.DataSource as DataTable).DefaultView.RowFilter = string.Forma
我在数据 View 行过滤器中遇到了一个小问题。如何处理数据 View 行过滤器中的文本框空值。我在此过滤器中使用 OR 运算符。请在这个问题上帮助指导我。到目前为止,我使用下面的代码。 Column
我在将 RowFilter 应用于 DataGridView 时遇到问题。我确实需要使用 IN 和 NOT IN 应用 RowFilter。 例子: custId in (select custId
此表仅存在于内存中,因此无法进行快速 SQL 查询。 我需要在数据表的列中找到最长的字符串。 由于处理的表的大小,我不能只进行原始的逐行大小检查,而是必须使用 RowFilter。 我试过这些: d
我正在尝试在 gridview 中搜索数据库。当我在文本框中键入任何内容时,出现此错误: syntax error missing operand before 'like' operator 这是代
使用 dataView.RowFilter 时,我总是得到过滤结果,包括数据集的最后一个元素。 我有一个测试数据集: private TestClass[] items = { new Tes
我目前正在使用以下内容来过滤我的 JTable RowFilter.regexFilter( Pattern.compile(textField.getText(),
我尝试为 JTable 创建行过滤器以限制表中显示的行数。 RowFilter 代码很简单。它将模型行号转换为 View 行号(如果表格已排序),然后检查 View 行号是否小于表格中要显示的行数:
我有一个 DataView,我正尝试根据动态字符串进行过滤: dv.RowFilter = "ContentTitle = '" + titleFilter + "'"; 在某些情况下,titleFi
我想知道是否有任何可能的方法在提供单个字符匹配的 DataView 上应用 RowFilter? 例如DataView.RowFilter = "SOME_COL 喜欢 'A_BCD%'; 其中下划线
我想知道是否有任何可能的方法在提供单个字符匹配的 DataView 上应用 RowFilter? 例如DataView.RowFilter = "SOME_COL 喜欢 'A_BCD%'; 其中下划线
我是一名优秀的程序员,十分优秀!