Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql regexp这些字符中的一些+;1个未知字符_Mysql_Regex_String - Fatal编程技术网

mysql regexp这些字符中的一些+;1个未知字符

mysql 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

下面的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 '^[ABC]*([A-Z][ABC]*){0,2}$'
因为
基本上是
{0,1}
量化因子。请参阅和

注意:如果您不希望附加字母为
A
B
C
,请将
[A-Z]
替换为
[D-Z]

详细信息

  • ^
    -字符串的开头
  • [ABC]*
    -零个或更多
    A
    B
    C
    字符
  • ([A-Z][ABC]*)?
    -可选(如果使用
    {0,2}
    ,则为一或零,然后为零、一或二)出现任何ASCII字母,后跟零或多个
    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]