我需要在我的正则表达式中有“或”逻辑。
- 例如,从“foobar435”我需要三个数字,所以“435”
- 但是从“barfoo543”开始,我需要三个数字之前的三个字母,所以“foo”
单独地,正则表达式将是 "foobar([0-9]){3}" 来获得第一个案例,而 "[a-zA-Z]{3}([0-9]{3})[a- zA-Z]{3}" 得到第二种情况。如何使用一个正则表达式同时获得两种情况?那么,如果第一个正则表达式匹配,则返回“435”,但如果不匹配,则返回“foo”?
我正在使用蜂巢,所以理想情况下我只想打一个电话。到目前为止,我已经...
REGEXP_EXTRACT(myString, 'foobar([0-9]){3}', 1) AS columnName
不知道如何将第二种情况添加到其中。谢谢!