mysql regexp这些字符中的一些+;1个未知字符
下面的regexp表示单词只能是ABC的(某些)字母。所以A匹配,AA,AB,BAmysql regexp这些字符中的一些+;1个未知字符,mysql,regex,string,Mysql,Regex,String,下面的regexp表示单词只能是ABC的(某些)字母。所以A匹配,AA,AB,BA word REGEXP '^[ABC]*$' 但是如何使它成为一些ABC字母和一个英国字母。要将字符串与一个字母匹配,可以使用 REGEXP '^[ABC]*([A-Z][ABC]*)?$' REGEXP '^[ABC]*([A-Z][ABC]*){0,2}$' 要将类似的a、B和C字符串与任意两个字母匹配,可以使用 REGEXP '^[ABC]*([A-Z][ABC]*)?$' REGEXP '^[AB
word REGEXP '^[ABC]*$'
但是如何使它成为一些ABC字母和一个英国字母。要将字符串与一个字母匹配,可以使用
REGEXP '^[ABC]*([A-Z][ABC]*)?$'
REGEXP '^[ABC]*([A-Z][ABC]*){0,2}$'
要将类似的a
、B
和C
字符串与任意两个字母匹配,可以使用
REGEXP '^[ABC]*([A-Z][ABC]*)?$'
REGEXP '^[ABC]*([A-Z][ABC]*){0,2}$'
因为?
基本上是{0,1}
量化因子。请参阅和
注意:如果您不希望附加字母为A
、B
或C
,请将[A-Z]
替换为[D-Z]
详细信息
-字符串的开头^
-零个或更多[ABC]*
,A
或B
字符C
-可选(如果使用([A-Z][ABC]*)?
,则为一或零,然后为零、一或二)出现任何ASCII字母,后跟零或多个{0,2}
、A
或B
字符C
-字符串结尾$
- 要求ABC以外的一个字母:
x REGEXP '^[ABC]*[D-Z][ABC]*$'
x REGEXP '^[ABC]*[D-Z]?[ABC]*$'
允许使用ABC以外的一个字母:
x REGEXP '^[ABC]*[D-Z][ABC]*$'
x REGEXP '^[ABC]*[D-Z]?[ABC]*$'
长度限制:
... AND CHAR_LENGTH(x) > 3
... AND CHAR_LENGTH(x) BETWEEN 2 AND 5
(etc)
它还可以匹配空字符串,因为*表示0次或多次<代码>^[ABC]+[a-zA-Z]$将匹配1+次a B或C,然后是字符a-Z或a-Z。第四只鸟不在末尾,而是在word@luky然后,
^[ABC]+[A-Za-z]?[ABC]*$
?演示:@41686d6564干得好,你可能把它搞定了。这可能会起作用。看起来^[ABC]*[A-Z]?[ABC]*$@luky是的,但即使字符串中根本没有[ABC]
,这也会起作用。它还将匹配一个空字符串(因为现在所有内容都是可选的)。因此,您可以决定将哪些字符设置为可选字符。Wiktor的回答中已经介绍了这种情况,请参见“注意:如果您不希望附加字母为A
、B
或C
,请将[A-Z]
替换为[D-Z]
”