让我们考虑这样的文本: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+
)。