正则表达式基础

正则表达式 学习笔记

  1. 有多个字符串,其中一个字符串中包含部分内容,匹配的到底什么?
    答:匹配的是包含匹配内容的那个字符串?还是只有匹配的内容
    Go Ahead~

从 hi hi 开始( \b\w , . , * )

这个正则匹配的内容由两个字符组成,前面的一个是 h ,后面的一个是 i
但是如果某个单词后面还跟着其他字符串,这样的单词中包含的 hi 也会被匹配,比如说 his
如何只匹配单个 hi ?
此时可以使用 \bhi\b\b 匹配如下位置

元字符 作用
b 所匹配的位置,前一个字符和后一个字符不全是 w (用来匹配字母、数字、下划线、汉字)

如果需要匹配 hi 后面的不远处跟着 Lucy,比如说 hi ,this is Lucy. 可以使用 \bhi\b.*\bLucy\b

元字符 作用
. 匹配除了换行符之外的任何字符
* 用来指定这个元字符 * 前面的内容可以连续重复使用任意多次,可以使得整个表达式得到匹配

上面的 . * 用来表示任何数量的字符,只要字符里边不包括换行,于是 \bhi\b.*\bLucy\b 就表示先有个单词 hi ,隔着很多没有字符,中间没有换行,之后有一个单词 Lucy 。

电话号码的匹配 ( \d , {n} )

0\d\d\d-\d\d\d\d\d\d\d\d 用来匹配 0 开头,之后 3 位数字加 - ,之后 8 位数字的电话号码。
使用这么多的 \d 是一件很让人上头的事情,可以使用这样的写法:0\d{3}-\d{8}

元字符 作用
d 匹配一位数字,比如 0 ,1 ,2 等任意的一位数字
{n} 表示这个元字符 {n} 前面的内容必须连续重复多少次

好多元字符

元字符 作用
/s 匹配任意多的空白符
/w 代表着可用文字,包含字母,数字,下划线,汉字
/s 匹配任意多的空白符
+ {n}* 类似,指定当前元字符前面的内容重复多次,+ 专指重复 1 次以上

现在好多内容在讲正则的时候都不注意区分哪些是核心内容,在很多环境下,会对正则做出拓展,引入了很多新符号,引入了很多的复杂度。可以参考这篇谷歌大牛的文章
编程珠玑番外篇-C.正则表达式精义-1

如果基础扎实的话,有这篇文章
跟vczh看实例学编译原理——零:序言

这是一个图形化的在线正则展示网页,可以用来测试正则
Regexper

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 正则表达式概念源于 《神经网事件的表示法》论文中。 正则表达式就是用某种模式去匹配一类字符串的一种公式。 正则表达...
    单板小智阅读 4,185评论 0 1
  • 欢迎关注微信公众号:全栈工厂 一 正则字符简单介绍1.1 元字符介绍"^" :^会匹配行或者字符串的起始位置,有时...
    liqingbiubiu阅读 6,311评论 0 0
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 6,526评论 0 9
  • 注:本篇文章只为方便查看,特此保留,如有冒犯,敬请谅解!!! 本文目标 30分钟内让你明白正则表达式是什么,并对它...
    阿杰Alex阅读 5,362评论 0 10
  • 辉煌的史前文明--科学家探索史前人类之谜 (编者按:本文仅提供参考,以拓宽读者思路,启发思维。这是一个需要反思的时...
    leezhiqiang阅读 4,243评论 0 0

友情链接更多精彩内容