具有两个匹配整个字符串的备选方案的交替组
Alternation group with two alternatives matching entire string
我正在研究一个正则表达式,returns 1 仅在给定值为 A 或 B 的情况下。
我用过
select 'A' REGEXP '^A|B$'
'|'符号的行为类似于 "or",但结果与 AB 的预期不同:
select 'AB' REGEXP '^A|B$' = 1
虽然我预计这里没有匹配项。
您当前的解决方案匹配
^A
- A
在字符串的开头
|
- 或
B$
- B
在字符串的末尾。
REGEXP
operator can return partial matches (unlike LIKE
operator that requires the wildcard pattern to match the whole string), and thus can match ABC
and CAB
. See the regex demo.
您可以使用
select 'A' REGEXP '^(A|B)$'
A|B
在此处的分组结构中,^
和 $
都修改了 A
和 B
分支。参见 this regex demo。
如果这些 A
和 B
是单个字符,请使用 [AB]
括号表达式:
'^[AB]$'
其中 [AB]
匹配 A
或 B
,并且 ^
/ $
锚点修改括号内的每个字母。
参见 this regex demo。
我正在研究一个正则表达式,returns 1 仅在给定值为 A 或 B 的情况下。
我用过
select 'A' REGEXP '^A|B$'
'|'符号的行为类似于 "or",但结果与 AB 的预期不同:
select 'AB' REGEXP '^A|B$' = 1
虽然我预计这里没有匹配项。
您当前的解决方案匹配
^A
-A
在字符串的开头|
- 或B$
-B
在字符串的末尾。
REGEXP
operator can return partial matches (unlike LIKE
operator that requires the wildcard pattern to match the whole string), and thus can match ABC
and CAB
. See the regex demo.
您可以使用
select 'A' REGEXP '^(A|B)$'
A|B
在此处的分组结构中,^
和 $
都修改了 A
和 B
分支。参见 this regex demo。
如果这些 A
和 B
是单个字符,请使用 [AB]
括号表达式:
'^[AB]$'
其中 [AB]
匹配 A
或 B
,并且 ^
/ $
锚点修改括号内的每个字母。
参见 this regex demo。