招商网站建设解决方案建设一个手机网站需要多少钱
web/
2025/9/26 22:49:45/
文章来源:
招商网站建设解决方案,建设一个手机网站需要多少钱,wordpress查询页面,网站顶端图片素材正则表达式的作用是匹配文本#xff0c;将一个模式#xff08;正则表达式#xff09;与一个文本串进行比较#xff0c;mysql允许你指定正则表达式#xff0c;过滤select检索出的数据。但是mysql仅仅支持正则表达式的一个子集。 1、基本字符匹配#xff1a; select prod_n… 正则表达式的作用是匹配文本将一个模式正则表达式与一个文本串进行比较mysql允许你指定正则表达式过滤select检索出的数据。但是mysql仅仅支持正则表达式的一个子集。 1、基本字符匹配 select prod_name from products where prod_name regexp 1000 order by prod_name; 以上语句检索到prod_name包含文本1000的所有行。在regexp后面所跟的东西作为正则表达式处理。但是正则的好处还有如下 select prod_name from products where prod_name regexp .000 order by prod_name; 这里的.000表示匹配任意一个字符当然1000和2000都匹配且返回。 like 和 regexp的区别like匹配整个列如果匹配的文本在列值中出现mysql将不会找到它。而regexp在列值类进行匹配如果被匹配的文本在列值中出现regexp将会找到它。但是regexp能否用来匹配整个列值我们使用和$定位符即可。 2、进行or匹配 为搜索两个串或者为这两个串或者为另一个串使用|如下 select prod_name from products where prod_name regexp ‘1000|2000’ order by prod_name; 类似where匹配中的OR子句。可以将多个or条件并入一个正则表达式。 3、匹配几个字符之一 如果你只想匹配特定字符可通过制定一组用[和]括起来的字符来完成如下 select prod_name from products where prod_name regexp [12]ton order by prod_name 上述语句的意思是匹配1或2因此1ton和2ton都匹配且返回。其中[12]等效于[1|2]。但是如下 select prod_name from products where prod_name regexp 1|2|3ton order by prod_name; 以上语句的结果是错误的因为你让mysql检索的是1或2或3ton所以他的结果是错误的。所以需要用[]括起来再与其他进行连接起来匹配。 也可以使用[^12]匹配除这些字符外的任何东西。 4、匹配范围集合可用来定义要匹配的一个或多个字符如下[0123456789] 以上语句的等效语句是[0-9],我们可使用-来定义范围范围不限于完整的结合如[1-3][6-9]也是合法的范围范围也不一定只是数值的[a-z]匹配任意字母字符。 select prod_name from products where prod_name regexp [1-5]ton order by prod_name; 以上主要匹配1-5的数据。 5、匹配特殊字符如果你需要特殊匹配出现在正则表达式中的这些特殊字符怎么办如下我们想匹配.这个字符。 select vend_name from vendors where vend_name regexp \\. order by vend_name; 这里使用了转义正则中一些具有特殊含义的字符均可以使用其进行转义。包括.、|、[]等\\也可以用来引用元字符具有特殊含义的字符如下 \\f 换页 \\n 换行 \\r 回车 \\t 制表 \\v 纵向制表 但是如果我们为了匹配\我们需要使用\\ 6、匹配字符类我们还可以使用你自己经常使用的数字、所有字母或所有数字字母字符等的匹配。我们可以使用预定义字符集成为字符类如下 select prod_name from products where prod_name regexp [[:digit:]]{4} order by prod_name; [:alnum:] 任意字母和数字 a-z A-Z 0-9 [alpha:] 任意字符a-z A-Z [:blank:] 空格和制表[\\t] [:cntrl:] ASCII控制字符[ascii 0-31和127] [:digit:] 任意数字[0-9] 7、匹配多个实例我们之前使用的正则表达式都试图匹配单词出现如果存在一个匹配该行被检索出来如果不存在检索不出任何行。但是例如如果我们需要寻找所有的数不管数中包含多少数字或者你可能想寻找一个单词并且还能够适应一个未遂的s、 select prod_name from products where prod_name regexp \\([0-9] sticks?\\) order by prod_name; 以上语句的正则表达的含义是匹配在括号内的0-9之间的sticks可以有s也可以没有s这是根据的解释 * 0个或多个匹配 1个或多个匹配 0个或1个匹配 {n} 指定数目的匹配 {n} 不少于指定数目的匹配 {n,m} 匹配数目的范围 select prod_name form products where prod_name regexp [[:digit:]]{4} order by prod_name; 以上语句匹配的是匹配连在一起的是个数字 8、定位符之前都是匹配一个串中任意位置的文本为了匹配特定位置的文本需要如下的定位符。 例如你想找出一个数(包括以小数点开始的数开始的所有产品我们只能使用定位符。如下: select prod_name from products where prod_name regexp ^[0-9\\.] order by prod_name; 以上语句表达的是只在.或者任意数字为串中第一个字符时才匹配。 ^文本开始 $文本结尾 [[::]] 词的开始 [[::]] 词的结尾转载于:https://www.cnblogs.com/television/p/8343257.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82423.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!