Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JAVA中搜索具有类似于完整字符串的空格的字符串_Java_Regex_Postgresql - Fatal编程技术网

在JAVA中搜索具有类似于完整字符串的空格的字符串

在JAVA中搜索具有类似于完整字符串的空格的字符串,java,regex,postgresql,Java,Regex,Postgresql,我面临一个问题,非常感谢你的帮助 我正在使用java并将其连接到postgres DB。我试着用LIKE编写一个查询,它是有效的,但我正在寻找的是regex,它的工作原理类似于LIKE,其中也计算了空格 例如,假设我们的数组中有来自DB as结果的以下条目 “猫”,“猫”,“猫” 等我打字的时候 “c a ts” 在搜索过滤器中,我应该从包含数据库所有结果的数组中检索上述所有内容。您不需要regex。例如这里的'cats'是“像”'cats': b=# select replace('c a t

我面临一个问题,非常感谢你的帮助

我正在使用java并将其连接到postgres DB。我试着用
LIKE
编写一个查询,它是有效的,但我正在寻找的是
regex
,它的工作原理类似于
LIKE
,其中也计算了空格

例如,假设我们的数组中有来自DB as结果的以下条目

“猫”,“猫”,“猫”

等我打字的时候

“c a ts”


在搜索过滤器中,我应该从包含数据库所有结果的数组中检索上述所有内容。

您不需要
regex
。例如这里的
'cats'
是“像”
'cats'

b=# select replace('c a ts',' ','') like replace('ca ts',' ','') as example;
 example
---------
 t
(1 row)

您可以尝试替换输入和搜索模式中的空格:

    String input = "a b c";
    String searchPattern = "ab  c";
    Pattern pat = Pattern.compile(searchPattern.replace(" ", ""));
    System.out.println(pat.matcher(input.replace(" ", "")).matches());

是的,我已经使用了LIKE,我可以从数据库中获取它。但我的问题是,我在一个数组中拥有所有这些结果,搜索将在该数组中完成,以从该数组中获取所有此类项。因为无论何时使用,我们都会触及数据库,我们希望减少对数据库的依赖性,您不断更改所述的问题。详细定义您试图解决的实际问题。如果涉及到数组,请说明如何使用。所以你想做一个忽略空格的文本模式匹配?是的,这正是我想要的。那为什么你在其他答案上的评论提到数组?数组从何而来?@CraigRinger我之所以提到数组,是因为我需要数组内容的文本模式匹配。数组的内容是我上面提到的内容以及其他一些值,现在我需要一个模式匹配来检索基于模式的所有结果,但这不是一个数组,它只是一个字符串。