正则表达式的使用

news/2024/7/2 23:11:11

大家好,我是IT修真院深圳分院第4期学员,一枚正直善良的JAVA程序员。

今天给大家分享一下,修真院官网JAVA任务3中,深度思考部分的知识点——正则表达式

一、背景介绍
        发明BSD、TCP/IP、csh、vi和NFS的SUN首席科学家Bill Joy说过,在计算机体系结构领域里,缓存是唯一称得上伟大的思想的。其他的一切发明和技术不过是在不同场景下应用这一思想而已。在计算机软件领域里,情形也大体相似。如果罗列这个领域的伟大发明,绝对不超过二十项。这些包括分组交换网络、WEB、lisp、哈希算法、UNIX、编译技术、关系模型、面向对象、XML这些大名鼎鼎的家伙,而正则表达式绝对不应该被漏掉。

        如今正则表达式已经成为几乎所有语言中的必备元素:JAVA、Perl、Python、PHP、Ruby————我们要问的不是什么语言支持正则表达式,而是什么语言不支持正则表达式。而一些功能强大的编辑器如notepad++、sublime 、Atom也全都支持正则表达式。正则表达式究竟能干什么呢?为什么会有那么大的魅力?我们往下看

二、知识剖析
元字符:起匹配、标记作用的特殊字符

匹配:将符合的结果返回,相当于return ...

标记:将符合的结果作为条件,相遇if(...)

"b"    标记的单词的开头和结尾,即是空格、逗号、句号等符号

"d"    匹配的是[0-9]的任一个数字

"{}"     "X{3}"表示匹配连续的3个X

“.”    匹配的是除了换行符“n”的任意一个字符

""     "X"可以表示0个或无数个X

“s”    表示匹配一个空格

"S"     表示匹配一个不是空格的任意字符

零宽断言(标记类型,不返回结果)

(?=check)     “X(?=check)”如果X后面跟着check,则匹配X()

(?<=check)     "(?<=check)X"如果X前面有check,则匹配X

注:check可以是任何你写的出的东西

三、常见问题
1.读不懂,也不想读正则表达式怎么办?

2.正则表达式的标准并不统一,JAVA上能用的Python并不一定能用,怎么办?

四、解决方案
1.读不懂,也不想读正则表达式怎么办?

普通人有三件东西看不懂:医生的处方,道士的鬼符,程序员的正则表达式

哪怕是一个精通正则表达式的人要读懂一大段正则表达式也很费力,因为正则表达式是只写的(write-only)。很多时候,写完三分钟,立马就不读懂了

但是——非要读不可的话,可以使用可视化工具

https://www.debuggex.com/

刚才演示用的神器————RegexBuddy

2.正则表达式的标准并不统一,JAVA上能用的Python并不一定能用,怎么办?

神器regexBuddy再次出场!具有不同语言间的正则表达式互相转换功能,甚至还能帮你直接把实现正则表达式的代码写出来!

五、编码实战
六、扩展思考
七、参考文献
1.博客http://www.cnblogs.com/deerch...

2.《精通正则表达式》

八、更多讨论
详见视频:视频链接

PPT链接:

https://ptteng.github.io/PPT/...


http://lihuaxi.xjx100.cn/news/269579.html

相关文章

转:从零开始做app需要做的事情列表

https://qdan.me/list/VaXl7N8emfv1ayWg 从零开始做App的Bootstrap 做一个App&#xff0c;需要很多东西。 不定期更新。 团队 工欲善其事&#xff0c;必先利其器。 需求管理 支持版本、迭代、需求的创建与管理。 产品经理在上面录入需求&#xff0c;开发参照开发&#xff0c;测…

特斯拉到底颠覆了什么?

视学算法转载来源&#xff1a;机器之能编辑&#xff1a;机器之心微胖「我们在这里学习和奋斗了几年&#xff0c;想要弄出一款像样的手机。PC的人是不会把这事搞清楚的。他们不会就这么走进来的。」——Ed Colligan, Palm的首席执行官&#xff0c;2006年&#xff0c;关于苹果手机…

CVPR 2020 夜间目标检测挑战赛冠军方案解读

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达在 CVPR 2020 Workshop 举办的 NightOwls Detection Challenge 中&#xff0c;来自国内团队深兰科技的 DeepBlueAI 团队斩获了“单帧行人检测”和“多帧行人检测”两个赛道…

Android实现左右滑动效果

本示例演示在Android中实现图片左右滑动效果。 关于滑动效果&#xff0c;在Android中用得比较多&#xff0c;本示例实现的滑动效果是使用ViewFlipper来实现的&#xff0c;当然也可以使用其它的View来实现。接下来就让我们开始实现这种效果。为了方便大家理解&#xff0c;我们先…

​中国自动驾驶技术有多强?你可能还不知道

随着大数据、互联网、5G等技术在汽车领域的不断普及和推广&#xff0c;自动驾驶技术也开始为人们熟知。无论是新能源汽车还是传统汽车&#xff0c;自动驾驶都是业界未来需要抢占的制高点&#xff0c;越来越多的企业在自动驾驶领域开始发力。随着无人驾驶汽车相关法律法规的放宽…

2018.12.13待填之坑

https://www.cnblogs.com/dirge/p/5503289.html 关于无标号无/有根树计算转载于:https://www.cnblogs.com/Jessie-/p/10112030.html

android电视工程模式,智能电视如何打开ADB?进入工程模式方法

原标题&#xff1a;智能电视如何打开ADB&#xff1f;进入工程模式方法ADB调试是智能安卓设备特有的功能之一&#xff0c;一般情况下智能电视ADB调试是默认隐藏关闭的。ADB模式可以使电视与外界设备进行数据传送、例如我们通过远程推送安装第三方软件前就必须打开ADB调试功能。小…

超强后浪:14岁考上研究生,如今17岁的他或将成为全国最小的博士生!

点击上方“视学算法”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达本文来源&#xff1a;南京理工大学校友会、扬子晚报、广西新闻频道、新华日报、交汇点等14岁考上研究生&#xff0c;17岁考上博士&#xff0c;是种什么体验&#xff1f;能用…