mysql - 使用 regexp 和 sql 查找与特定特征匹配的单词
问题描述
我想编写一个选择语句来获取其中一个与某个正则表达式匹配的所有列。
我基本上有这个 file_name 列,我想选择所有以某个单词开头、中间有某个单词并以“xlsx”结尾的文件。
我知道检查是否以某个单词开头,我可以
SELECT * FROM files WHERE file_name REGEXP '^company';
查找以 company 开头的文件,只需将其用作占位符。
在这一点之后,它可以有任何其他字符,但在中间的某个点,我正在寻找另一个词,让我们说“狗”,然后以 xlsx 结尾。
我知道要查找以 xlsx 结尾的文件名,我可以这样做:
SELECT * FROM files WHERE file_name REGEXP 'xlsx[[:>:]]';
我的主要困惑是如何将所有这 3 个案例组合成一个陈述。所以它以公司开头,然后在某个时候有狗这个词,然后在某个时候以 xlsx 结尾。
解决方案
您可以使用以下方法将所有条件组合成一个选择:
SELECT * FROM files WHERE file_name REGEXP '^company.*dog.*xslx$';
推荐阅读
- vue.js - 如何使用 vue.config.js 从 webpack 构建中排除带有模拟文件的目录?
- javascript - 在此特定实例中,array.filter 如何与 JSON.stringify 一起使用?
- c - 带 F_OK|R_OK 的 access() 和检查 NULL 指针之间的区别?
- c++ - 我无法让 C++ 中的 bittrex v3 api 工作
- html - 响应式剪辑路径项目垂直对齐
- java - Android - 调整个别应用程序音量
- c++ - “模块是在没有符号的情况下构建的”尝试打开示例项目时发生错误
- php - 检查数组是否没有键并动态创建
- vb.net - VB.NET 应用商店
- javascript - JS 元素属性设置不适用于 HTML 5