1.应用场景
有时,要使用mysql的正则去匹配数据, 比如从物料名称中识别出,手机的品牌, 型号, 操作系统等信息 以及使用正则去匹配检索数据,不过性能上限有待确定. |
2.学习/操作
1. 文档
2. 整理输出1. 使用LIKE和NOT LIKE比较操作符(注意不能使用=或!=);
|
特别字符 | 说明 |
$ | 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。 |
( ) | 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。 |
* | 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 |
+ | 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 |
. | 匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。 |
[ ] | 标记一个中括号表达式的开始。要匹配 [,请使用 \[。 |
? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。 |
\ | 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n' 匹配字符 ‘n'。'\n' 匹配换行符。序列 ‘\\' 匹配 “\”,而 ‘\(' 则匹配 “(”。 |
^ | 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。 |
{ } | 标记限定符表达式的开始。要匹配 {,请使用 \{。 |
| | 指明两项之间的一个选择。要匹配 |,请使用 \|。 |
所以是
* . ? + $ ^ [ ] ( ) { } | \ /
构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与操作符将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
12. [.characters.] 使用
[.characters.] 在括号表达式中(使用[和]),匹配用于校对元素的字符序列,字符为单个字符或新行等字符名
mysql> SELECT ‘~’ REGEXP ‘[[.~.]]’; -> 1
mysql> SELECT ‘~’ REGEXP ‘[[.tilde.]]’; -> 1[=character_class=]
在括号表达式中(使用[和]),[=character_class=]表示等同类。它与具有相同校对值的所有字符匹配,包括它本身,
[[=a=]] 等同于[a(+)],[a+],[a{1,}]
[:character_class:]
在括号表达式中(使用[和]),[:character_class:]表示与术语类的所有字符匹配的字符类。标准的类名称是:
alnum 文字数字字符
alpha 文字字符
blank 空白字符
cntrl 控制字符
digit 数字字符
graph 图形字符
lower 小写文字字符
print 图形或空格字符
punct 标点字符
space 空格、制表符、新行、和回车
upper 大写文字字符
xdigit 十六进制数字字符[[:<:]], [[:>:]]
这些标记表示word边界。它们分别与word的开始和结束匹配。word是一系列字字符,其前面和后面均没有字字符。字符是alnum类中的字母数字字符或下划线(_)。
mysql> select ‘fang shan zi’ regexp ‘[[:<:]]shan[[:>:]]’; -> 1
mysql> select ‘fang shan zi’ regexp ‘[[:<:]]fang[[:>:]]’; -> 1
mysql> select ‘fang shans zi’ regexp ‘[[:<:]]shan[[:>:]]’; -> 0
注意
上面的字符使用是[[:xxx:]]作为一个整体使用的, 如下:
SELECT '手机 中国移动 中国移动品牌 W1 4GB+64GB移动定制全网通 全面屏手机 双卡双待/颜色随机 Pcs
' REGEXP '中国移动品牌([[:print:]])*W1|中国移动[[:print:]*]W1';
3.问题/补充
TBD |
4.参考
MySQL 正则表达式 | 菜鸟教程 //MySQL 正则表达式 https://wwwblogs/timxgb/p/5882742.html //MySQL中REGEXP正则表达式使用大全 https://www.jb51/article/119121.htm //MySql中使用正则表达式查询的方法 mysql中如何使用正则表达式查询 mysql 正则表达式查询含有非数字和字符的记录 MySql官方手册学习笔记2 MySql的模糊查询和正则表达式 mysql正则表达式 LIKE 通配符 在MySQL中用正则表达式替换数据库中的内容的方法 MySQL中使用replace、regexp进行正则表达式替换的用法分析 MySql中正则表达式的使用方法描述 MySQL 字符串模式匹配 扩展正则表达式模式匹配 MYSQL使用正则表达式过滤数据 MySQL正则表达式入门教程 MySQL使用正则表达式进行查询操作经典实例总结 |
后续补充
...
更多推荐
MySQL - 正则学习
发布评论