万能助手扩展开发:网页开发、爬虫、采集器等常用到的正则表达式_电脑计算机编程入门教程自学

Admin Admin
发布:2018-07-02 07:35:43 分类:心得经验
最近几天在开发网页的过程中,遇到了需要自动把网页文章正文内容自动给关键词添加超链接的功能,经过一天的折腾,最终搞定了。
自动添加关键词的原理就是用正则表达式替换,自动把纯文本的关键词替换成超链接的HTML源码。

什么是正则表达式?
正则表达式是一种表示如何字匹配符串的式子,它可以检测一段文本中是否包含有特定规律的字符串,然后进行提取或替换。

正则表达式用在什么地方?

1.数据验证。比如登陆页指定用户输入的信息不能包含某些字符,或要求按一定规则去填写。比如注册页的用户名,限定为英文和数字的组合,密码限定需要有大小写字母和数字并且长度不能少于六个字符。

2.内容查找
信息采集工具用得比较多,比如从网页中提取所有符合条件的超链接,提取网页中的图片地址,提取网页中某些影视资源的下载地址等。

3.内容替换
有些涉及用户隐私的信息不方便全部显示在网页上,比如用户的手机号、邮箱、收货地址、真实姓名等,可以替换成保留首尾而中间用星号*替换,防止用户信息和隐私被采集。

常用到的正则表达式概念

1.子表达式:在正则表达式中,如果使用"()"括起来的内容,称之为“子表达式”。

2.捕获:子表达式匹配到的结果会被系统放在缓冲区中,这个过程,我们称之为“捕获”。

3.反向引用:我们使用"\n",其中n是数字,表示引用之前某个缓冲区之间的内容,我们称之为“反向引用”。

常用到的正则表达式符号

1.数量限定符

x+    表示:1或多个
x*    表示:0或多个
x?    表示:0或1个
x{n}     表示: n个
x{n,}    表示:至少n个
x{n,m}    表示:n至m个,贪婪原则,会尽可能匹配多个;如果在后面加个?,则为非贪婪原则

2.字符限定符

\d    表示:匹配一个数字字符,[0-9]
\D    表示:匹配一个非数字字符,[^0-9]
\w    表示:匹配包括下划线在内的单词字符,[0-9a-zA-Z_]
\W    表示:匹配任何非单词字符,[^0-9a-zA-Z_]
\s      表示:匹配任何空白字符,空格、回车、制表符
\S      表示:匹配任何非空白字符
.        表示:匹配任何单个字符


3.范围字符
[a-z]、[A-Z]、[0-9]、[0-9a-z]、[0-9a-zA-Z]

4.任意字符
[abcd]、[1234]

5.非在内的字符
[^a-z]、[^0-9]、[^abcd]

4、 定位符

^    表示:开头标识
$    表示:结尾标识
\b    表示:单词边界
\B   表示:非单词边界

5.转义符

\    用于匹配某些特殊字符

6.选择匹配符

|    可以匹配多个规则

7.特殊用法

?=    正向预查:匹配以指定内容结束的字符串
?!     负向预查:匹配不是以指定内容结束的字符串
?:     不把选择匹配符的内容放到缓冲区

哪些语言支持正则表达式?

aardio、javascript、c#、CPP、java、python等开发语言都支持正则表达式。在aardio中,用得更多的是模式匹配,和正则表达式略有区别,但大部分的用法是相同的。
[ 发单/接单 ]
换IP投票软件
PC蛋蛋自动挂机投注
新浪微博发微博显示尾巴的方法,比如显示来自iphone 7
百度文库批量自动上传软件
一点资讯app刷阅读量/评论/收藏/订阅功能/手机号注册
定做一个阿迪达斯官网注册器(需要破点击文字式验证码)
定制人人网自动注册/修改资料/采集/私聊软件
酷狗繁星直播网页协yi
YY多功能刷订阅刷粉丝
滑块验证码本地识别
狼人杀POST QQ登录注册 获取金币数量
做个贴吧发发帖的软件懂的来
今日头条账号保存cookie
抖音粉丝软件定做,只要粉丝
百家号自媒体发文软件定制
哔哩哔哩播放量
读取TB某个商品上架时间和相关信息
网易博客软件定制
定制天涯论坛发帖软件
定制今日头条批量自动发私信软件
[ 站内搜索 ]
[ 最近热帖 ]
万能助手 -- 扩展库大全集 13752
用aardio创建web工程图文讲解(1) 12841
电脑编程入门自学:Fiddler https 抓包时提示创建根证书不成功问题彻底解决(https插件dll方式) 11743
aardio绘图演示 11413
通过chrome.dll中间件控制外部chrome浏览器 10125
我常用的aardio技巧 9775
《边学C语言边赚钱——简码编程入门教程》系列集合 9616
aardio使用http或whttp进行get/post请求时经常cookies失效怎么办?__电脑计算机编程入门教程自学 9322
[源码下载]简码视频加密解密播放工具个人版v1.0发布,永久免费开源的知识变现神器 8557
python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学 8048
编程入门教程:aardio批量上传文件并显示进度条 7883
aardio调用nodejs的ws模块做一个简单的聊天通信示例 7037
电脑计算机编程入门教程自学:原生JavaScript判断字符是否为A-Za-z英文字母 6908
电脑计算机编程入门教程自学:腾讯tx或极验geetest滑块按住拖动完成拼图验证成功破解思路及源码 6501
乐玩插件AARDIO调用 6086
[ 近期热答 ]
电脑计算机编程入门教程自学:什么是buffer缓冲区? 1
aardio_代码编辑框书签管理器开源 1
aardio_怎么用ide库从代码编辑框中取出指定行的源码? 1
aardio_codepage代码页编码乱码暴力猜解工具 1
aardio内嵌echarts图表添加鼠标事件响应功能 2
aardio列表框listbox_模糊查找和精确查找 1
8亿QQ绑定手机泄露:通过腾讯QQ号查询QQ绑定的手机号码漏洞! 1
carl listviewex调用例子----------源码搬运工 2
Aardio内嵌Electron浏览框怎么正确添加启动参数? 1
Aardio取汉字的字节数或字符数 1
怎么实现mssql图片数据的读写 2
aardio_从49个数字里选六个和值为150的不重复的数字 1
在嵌入wps的时候,多了一个 透明的边框,这个怎么消除它 1
万能助手入门帮助教程:学会科学地管理工作文件 1
Aaardio开发内嵌Electron浏览框放服务器上无法下载组件的解决办法 1