mysql - 正则表达式查找字符串中的某个字符

标签 mysql regex

我有一些如下所示的表名称

123_atest
123_ctest
999_ktest
k12_ktest
z32_ztest_1

现在,我想从此列表中选择以 0-9 和 a-d 开头的表格。我已经做了如下

TABLE_NAME REGEXP '^[0-9a-d]'

我得到的结果如下

123_atest
123_ctest
999_ktest

否,我想获取第一个下划线后以 k-z 开头的表名称

预期结果

999_ktest
k12_ktest
z32_ztest_1

如何构造正则表达式

最佳答案

代码

See regex in use here

^[^_]*_[k-z]

要仅匹配开头的字母数字字符,您可以使用以下任意一种:

^[^\W_]*_[k-z]
^[a-zA-Z0-9]*_[k-z]
^[[:alnum:]]*_[k-z]

说明

  • ^ 断言位置位于行首
  • [^_]* 匹配除 _ 之外的任何字符任意次数
  • _ 按字面意思匹配
  • [k-z] 匹配 k-z 范围内的任意字符

关于mysql - 正则表达式查找字符串中的某个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48213257/

相关文章:

javascript - 有没有更好的方法来匹配 JavaScript 中 URL 路径名的一部分?

ruby - 为正则表达式匹配编写 gsub 的完美方法?

mysql - Django 数据库模型 "unique_together"不工作?

mysql - JSON 二进制值包含无效数据

mysql - 内部联接的一对多关系?

c# - 从mysql实时更新C#客户端

c# - 正则表达式检测字符串中的Javascript

mysql - 更正公式的 SQL 脚本

javascript - 正则表达式允许 < 和 >

c# - 我需要一个允许用户输入数字、加号、减号和括号的正则表达式