正则表达式非常简单:
WHERE t.name =~ "(?i).*\\baaaaaaaa\\b.*"
这在Neo4j服务器web控制台中有效。我收到了预期的结果。
当我通过Java使用REST接口时,我必须将regex更改为:“(?I).*\\baaaaaaa\\b.*”
(添加了反斜杠)。我不明白为什么,但它确实有效(再次返回了预期结果)。
相同的正则表达式不适用于嵌入式Neo4j:
Caused by: Invalid input '': expected '\', ''', '"', 'b', 'f', 'n', 'r', 't' or Unicode (line 1, column 64)
MATCH ... WHERE t.name =~ "(?i)\ aaaaaaaa\ " ...
^
请注意,\b
不会显示在错误日志中(至少在 Intellij 控制台上)。
更糟糕的是< code > "(?我)。* \ \ baaaaaaa \ \ b . * * " 在嵌入式数据库和服务器数据库上都被正确解析(至少没有引发异常)。但是没有返回任何结果。
重要注意事项:
尝试在所有3种情况下使用参数。然后应该更加一致。
WHERE t.name =~ {regexp}
params: {regexp: "(?i).*\\baaaaaaaa\\b.*"}
当您在Java中使用JSON与文本字符串时,会发生不同的转义,以及Cypher解析器,因此2或3个不同的解析器在工作中,每个解析器都有自己的转义理解。
在普通Java中,afaik是regexps的两个退格。
我要匹配以下字符串: 包含unicode空格(不要问我为什么)<代码>/,\s*,/u在regex101中工作正常。 但是(?u),\s*,“在clojure中不起作用: 为什么会失败?
问题内容: 我有一个正则表达式: 这应该与该字符串匹配并返回三个捕获(根据Rubular) 这是我的代码: 当有三个时,此打印输出1(组),所以我只能这样做,只会返回32。 问题答案: 调用查找匹配的 下一个 实例,如果没有更多实例,则返回false。尝试调用它三次,看看是否有所有预期的组。 为了澄清,正在尝试 在正则表达式中 找到第一个组 表达式 。您的正则表达式中只有一个这样的组表达式,因此永
问题内容: 我和我的朋友正在尝试创建一种算法来计算输入的数字之后不会重复的数字(例如)。 感兴趣的代码是: 由于某种原因,即使将其设置为,也将其设置为。每个输出的结果将与输入具有相同的值。 这是什么问题,我们将如何更改逻辑,以便当数字中的数字重复时,检查器返回假? 问题答案: 考虑这些行 有一些问题。我认为您缺少牙套。和你忘了更新checker的时候matcher.find()是假的。我建议你改为
我正在尝试使用正则表达式验证JSON字符串。从另一个帖子中找到了有效的正则表达式https://stackoverflow.com/a/3845829/7493427它使用regex中的DEFINE特性。但是我认为JRegex库不支持这个特性。这有什么办法吗? 我首先使用java.util.regex,然后发现JRegex库。但这也行不通。 因为测试json是有效的,所以我希望匹配,但我得到了一个
问题内容: 我写了一个正则表达式来从HTML提取字符串,但是多行标志似乎不起作用。 这是我的模式,我想在标签中获取文本。 我创建了一个字符串来测试它。当字符串包含“ \ n”时,结果始终为null。如果删除所有的“ \ n”,无论有没有标志,它都会给我正确的结果。 我的正则表达式怎么了? 问题答案: 您正在寻找修饰符,也称为 dotall 修饰符。它将强制点也匹配换行符,默认情况下 不这样做 。
问题内容: 我正在做一个小的javascript方法,该方法会接收到一个点列表,并且我必须阅读这些点才能在Google地图中创建多边形。 我在表格上收到这些要点: (lat,long),(lat,long),(lat,long) 因此,我完成了以下正则表达式: 我已经使用RegexPal和收到的确切数据进行了测试: 并且它可以正常工作,所以为什么当我在JavaScript中添加此代码后,结果中会收