php用正则表达抓取网页中文章(正则表达式就是匹配模式查询结果及总结!(上才艺) )

优采云 发布时间: 2022-02-07 08:13

  php用正则表达抓取网页中文章(正则表达式就是匹配模式查询结果及总结!(上才艺)

)

  1、 什么是正则表达式

  正则表达式也称为正则表达式,通常用于检索和替换与某种模式(规则)匹配的文本。

  说白了就是起到匹配结果集的作用,从结果集中查询到开发者想要的数据。

  MySQL中正则表达式中需要用到的关键字有:REGEXP

  事不宜迟,让我们有才华!!!

  

  对于MySQL使用正则表达式,很多猿友一开始会想到MySQL的模糊查询

  SELECT * FROM user WHERE user_name LIKE '%张三';

  是的,模糊查询确实可以做常规可以做的事情,但它只能做两个方面。

  % : 匹配多个字符 _ : 匹配一个字符

  正则可以进行的匹配条件还有很多,重点来了!重点来了!重点来了!

  二、正则表达式1、^ :匹配输入字符串的起始位置,即匹配的数据以指定字符开头。

  SELECT product_name FROM product WHERE product_name REGEXP '^小米';

#匹配以“小米”开头的数据

  搜索结果

  

  2、$ :匹配输入字符串的结束位置,即匹配的数据以指定字符结束。

  SELECT product_name FROM product WHERE product_name REGEXP '小米$';

#匹配以“小米”结尾的数据

  搜索结果

  

  3、。: 匹配除 '\n' 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用类似 '[.\n]' 的模式。

  SELECT product_name FROM product WHERE product_name REGEXP '.小米.';

#范围[0,1],相当于模糊查询的 '_小米_'

  搜索结果

  

  4、[…] :字符的集合。匹配任何一个收录的字符。例如,'[abc]' 可以匹配 "plain" 中的 'a'。

  SELECT product_name FROM product WHERE product_name REGEXP '[小米]';

#匹配'小'或者'米'任意一个字符

  搜索结果

  

  5、[ ^ … ] : 与 […] 相反

  SELECT product_name FROM product WHERE product_name REGEXP '[^小米]';

#不匹配’小米‘

  搜索结果

  

  6、| : 多选匹配模式

  SELECT product_name FROM product WHERE product_name REGEXP '小米|仪器';

#匹配的数据中存在'小米'或者'仪器'

  搜索结果

  

  7、* : 匹配前面的子表达式 0 次或多次,相当于 {0,N}

  SELECT product_name FROM product WHERE product_name REGEXP '仪器*';

  搜索结果

  

  8、+ :匹配前面的子表达式出现一次或多次,相当于{1,N}

  SELECT product_name FROM product WHERE product_name REGEXP '仪器+';

  搜索结果

  

  9、{n} : 设置数据匹配的次数

  SELECT product_name FROM product WHERE product_name REGEXP '小米{1}';

#匹配数据集中包含一个小米字段的数据

  搜索结果

  

  10、{n,m} :设置最小匹配数和最大匹配数

  SELECT product_name FROM product WHERE product_name REGEXP '小米{1,4}';

#匹配的数据中至少有一个'小米'字段或者最多只有四个'小米'字段

  搜索结果

  

  三、总结

  正则表达式存在于每一种编程语言中,为查找数据提供了一种高效的方式,节省了开发人员处理数据的时间,但不正确的使用正则表达式也会带来难以查找的数据查询错误。如此易于使用和方便的前期是您必须正确使用它。

  以上均为个人理解,有错误希望大家指出。

  创作不易,希望能给个赞和鼓励!!!

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线