前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式工具上线【附正则相关知识】

正则表达式工具上线【附正则相关知识】

作者头像
无道
发布2019-11-13 16:17:28
5160
发布2019-11-13 16:17:28
举报
文章被收录于专栏:无道编程无道编程

前言

迷思雨工具站( https://tool.misiyu.cn/ ),工具还是太少了。

正则表达式工具地址:https://tool.misiyu.cn/regular

而正则表达式基本是现在主流语言都支持的一个东西。

而且基本语法都是都通用的,但是不能想要学习一个正则而每测试一个正则方法都写一个程序,然后编译、运行、得到结果,这样不是太复杂了??

虽说正则表达式是处理字符串相关很重要的一门工具,并且基本主流语言都支持。但是!!!!据说高校计算机、软件工程专业的没有一门课会交正则表达式。嗯,只是据说。。。2333

见了鬼的样子
见了鬼的样子

拥有的功能

拥有的功能
拥有的功能

及时匹配并显示结果

动态图演示

主要是功能就是每改变一个元素就自动匹配,及时匹配并显示结果,而不用手动点击“立即匹配”按钮。

动态演示正则表达式匹配
动态演示正则表达式匹配

相关正则知识

理解概念

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。

通俗点讲,正则表达式本身也是 一串字符

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。

许多程序设计语言都支持利用正则表达式进行字符串操作。

理解用途

1、表单验证

平常我们注册账号,需要输入邮箱,如果我们输入错误,他网站就会提醒我们邮箱输入错误。

这是怎么做到的?其实也就是利用了正则表达式来验证。

2、爬虫获取数据

通常我们通过爬虫获取数据,一般有好几种方法,比如XpathDom操作(如Python中的pyquery),其次就是正则表达式了,这其中,正则表达式是最难学的,但是学会之后,以上两种可以做的,正则表达式绝对可以做。而正则表达式可以做的,以上两者不一定能做。

正则表达式学习

这里推荐阅读菜鸟教程:https://www.runoob.com/regexp/regexp-tutorial.html

网上很多文字教程,但是初学者都会看的模模糊糊的,所以建议结合视频学习。【视频可在慕课和B站找寻】

定界符

正则表达式语句需要由分隔符(定界符)闭合包裹,分隔符可以使任意非字母数字, 非反斜线, 非空白字符

经常使用的分隔符是正斜线(/), hash符号(#) 以及取反符号(~)。

元字符

元字符

说明

范围

\d

匹配任意一个数字

[0-9]

\D

与除了数字以外的任何一个字符匹配

[^0-9]

\w

与任意一个英文字母,数字或下划线匹配

[a-zA-Z_0-9]

\W

除了字母,数字或下划线外与任何字符匹配

[^a-zA-Z_0-9]

\s

与任意一个空白字符匹配

[\n\f\r\t\v]

\S

与除了空白符外任意一个字符匹配

[^\n\f\r\t\v]

\n

换行字符

\t

制表符

元字符是正则表达式中的最小元素,只代表单一(一个)字符

上面这句话很重要的是:只代表单一(一个)字符 什么意思? 也即比如\w 只能匹配 一个任意英文字母,想要匹配很多字母(一个单词)比如要加 【重复匹配修饰符,比如:+, ? , {n,m}等等】

重复匹配修饰符

符号

说明

*

重复零次或更多次

+

重复一次或更多次

?

重复零次或一次

{n}

重复n次

{n,}

重复n次或更多次

{n,m}

重复n到m次

因为正则最小单位是元字符,而我们很少只匹配一个元字符如a、b所以基本上重复匹配在每条正则语句中都是必用到的内容

禁止重复匹配

符号

说明

*?

重复任意次,但尽可能少重复

+?

重复1次或更多次,但尽可能少重复

??

重复0次或1次,但尽可能少重复

{n,m}?

重复n到m次,但尽可能少重复

{n,}?

重复n次以上,但尽可能少重复

模式修正符

正则表达式在执行时会按他们的默认执行方式进行,但有时候默认的处理方式总不能满足我们的需求,所以可以使用模式修正符更改默认方式。

符号

说明

i

不区分大小写字母的匹配

s

将字符串视为单行,换行符做普通字符看待,使“.” 匹 配任何字符

x

忽略空白及#符号,根据此特性可以添加正则注释

m

^与$符匹配按行匹配

A

强制从字符串开始匹配(多行时默认以每行开始设置)

D

以$结尾时不允许后面有换行(使用\m时无效)

匹配字符边界

如果想匹配字符的边界,边界包括空格、标点符号、换行等,可以使用正则表达式的匹配字符边界修饰符如下。

符号

说明

^

匹配字符串的开始

$

匹配字符串的结束,忽略换行符

以上参考自:[http://houdunren.gitee.io/note/php/5%20正则表达式.html](http://houdunren.gitee.io/note/php/5 正则表达式.html)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 拥有的功能
  • 动态图演示
  • 相关正则知识
    • 理解概念
      • 理解用途
        • 正则表达式学习
          • 定界符
          • 元字符
          • 重复匹配修饰符
          • 禁止重复匹配
          • 模式修正符
          • 匹配字符边界
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档