当前位置: 首页 > 面试题库 >

Orient-DB正则表达式修饰符

程毅
2023-03-14
问题内容

我正在使用orient-db数据库,但是正则表达式模式匹配存在问题。我确实需要在请求中包含不区分大小写的修饰符,但是它不按预期工作。

询问:

select from UserAccounts where email MATCHES '^ther.*'

以小写形式返回预期的匹配项。

每当我尝试添加修饰符时,即在分隔符之外

select from UserAccounts where email MATCHES '\^ther.*\i'

我得到一个空的收藏。实际上,只要存在分隔符,查询就会返回一个空集合。

如果没有办法附加修饰符,我可能可以将每个“ alpha”字符替换为方括号中的表达式,即

select from UserAccounts where email MATCHES "^[tT][hH][eE][rR].*"

但是我对这种解决方案并不满意。


问题答案:

使用Java不区分大小写的regex修饰符(来自Pattern的特殊构造)可在OrientDB 1.7.9中使用-例如:

html" target="_blank">select from UserAccounts where email MATCHES '(?i)^ther.*'

(另请参见:模式-
特殊构造

我也对相应的OrientDB问题添加了评论。



 类似资料:
  • 主要内容:实例,实例,实例,实例标记也称为修饰符,正则表达式的标记用于指定额外的匹配策略。 标记不写在正则表达式里,标记位于表达式之外,格式如下: 下表列出了正则表达式常用的修饰符: 修饰符 含义 描述 i ignore - 不区分大小写 将匹配设置为不区分大小写,搜索时不区分大小写: A 和 a 没有区别。 g global - 全局匹配 查找所有的匹配项。 m multi line - 多行匹配 使边界字符 ^ 和 $ 匹配

  • 本文向大家介绍JS正则表达式修饰符global(/g)用法分析,包括了JS正则表达式修饰符global(/g)用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS正则表达式修饰符global(/g)用法。分享给大家供大家参考,具体如下: /g修饰符代表全局匹配,查找所有匹配而非在找到第一个匹配后停止。先看一段经典代码: 可以看到:当使用/g模式的时候,多次执行RegExp.test

  • 但我对修饰语s和m感到困惑。谁能用代码示例来解释s和m之间的区别,说明它是如何不同的?我试着在网上搜索,它只在http://perldoc.perl.org/perlre.html#modifiers链接中给出了解释。在stackoverflow中,我甚至看到有人将s和m一起使用。s不是M的反义词吗? 我无法使用“使用M”匹配多行。

  • 本文向大家介绍浅谈PHP正则表达式中修饰符/i, /is, /s, /isU,包括了浅谈PHP正则表达式中修饰符/i, /is, /s, /isU的使用技巧和注意事项,需要的朋友参考一下 在学习PHP正则表达式修饰符之前先来理解下贪婪模式,前面在元字符中提到过"?"还有一个重要的作用,即"贪婪模式",什么是"贪婪模式"呢? PHP正则表达式贪婪模式: 比如我们要匹配以字母"a"开头字母"b"结尾的

  • 本文向大家介绍JS正则表达式修饰符中multiline(/m)用法分析,包括了JS正则表达式修饰符中multiline(/m)用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了JS正则表达式修饰符中multiline(/m)用法。分享给大家供大家参考,具体如下: JavaScript正则表达式有3种修饰符/i、/m和/g。/i是我们最常用,也是最好理解的,代表正则表达式匹配的时候不区

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?