【发布时间】:2020-06-12 23:53:16
【问题描述】:
在 Oracle REGEX_LIKE 中编写正则表达式时,是否有等效的 AND 运算符?我一直在尝试选择所有三个单词都必须包含在字符串中的情况。在下面的示例中,我想匹配 所有三个单词、small & leather & goods 必须的所有实例被包含在字符串中。我尝试了许多在线正则表达式测试器,正则表达式语法正是我需要它做的,但是当我尝试在 REGEXP_LIKE 表达式中使用该语法时,我得到零匹配
regexp_like(GLOBAL_CATEGORY,'(?=.*small)(?=.*leather)(?=.*goods)^.*$','i')
完成我正在寻找的正则表达式测试器示例: regexr.com/4vc1s
Men/Outerwear/Leather/Sale **(NO MATCH)**
Men > Accessories > Bags & Leather Goods > Small Leather Goods **(YES MATCH)**
Men > Accessories > Bags & Leather Goods > Bags **(NO MATCH)**
Men > Accessories > Bags & Leather Goods > Small Leather Goods **(YES MATCH)**
Men/Outerwear/Leather/Sale **(NO MATCH)**
Men/Small_Leather_Goods/Sale **(YES MATCH)**
Men/Outerwear/Leather **(NO MATCH)**
Men/Small_Leather_Goods **(YES MATCH)**
men>accessories>small>leather>goods **(YES MATCH)**
【问题讨论】:
-
您的所有示例中的单词都按照您列出的顺序出现。如果最后一部分只是“小”,则该模式将匹配第二个示例。您能否确认您正在尝试以字符串中的任何顺序查找它们?
-
是的,按照列出的顺序
标签: regex oracle regex-lookarounds regexp-like