匹配操作员之间的整体



让我们考虑这样的文本:WHERE ABC() BETWEEN GetDay() + 1 AND 10 OR 5 <> 10我需要提取这个:ABC() BETWEEN GetDay() + 1 AND 10

我正在尝试使用这样的正则表达式sBETWEENs(?<=BETWEENs).*?(?=sAND)sANDs但我不知道如何在开头选择ABC(),最后选择10(不接触OR)。我开始考虑不添加一些假设是不可能的,我错了吗?如何提取它?

您可以使用

w+()sBETWEENs.*?sANDs.*?d+

查看正则表达式演示

w+匹配 1+ 单词 chard(字母、数字或 _),.*?d+ 将匹配任何 0+ 字符 ( .*? ) 直到前 1+ 位数字 ( d+ )。

最新更新