学习正则表达式 ,很多人都是云里雾里的,把所有东西学完了,但是还是不会用,这是为什么那?
在正则中:
①要理解单词和字符串的概念
我们的匹配是以单词开始的
\w* 我们都知道*具有贪婪性
name 用\w*匹配的结果? name
但是我们也许不知道的是\w*其实匹配到的结果集是三个串数组
str[0]=“name” str[1]="" str[2]=""
②要理解返回值的概念
当我们知道 \w*匹配到的是一个数组的情况下
那么name Regex匹配结果哪?
str[0]=“name” str[1]="" str[2]=“Regex” str[3]="" str[4]=""

③ 正确理解 ^ $ 的用途
我们用 ^\w*$来匹配 name Regex 结果 为空
这个时候我们还能说^ 定位字符串开头 $ 定位字符串结尾的吗?
但是如果我们换成name 用^\w*$ 的时候结果为
str[0]=“name” str[1]="" str[2]=""

我们^\w* 来匹配name Regex 的结果 name
我们 \w*$来匹配name Regex 的结果 Regex
准确的说 ^ 匹配的是字符串开头部分的单词
$ 匹配的是字符串结尾部分的单词

④ 一定要慎用点 .
我用.*来匹配name Regex 的结果name Regex
如果我只想用.*匹配name Reagx中的name部分哪 $.*可以吗? 不可以
.所得代表的是转移字符 \w 字符 \d数字 \s 空格 所以一定要慎用
那不用点应该怎么匹配哪?
我们\w*\s\w*来匹配name Regex 的结果name Regex
要比.可控制性强很多

⑤* ? 的使用原则
<(h|H)\d.?</(h|H)\d>
能够完美匹配 所哟 H1-H6标签
<h1 dd=“dsese” de=dd>dwdf</h1>
<h1></h1>
我们看到这里用到了.
? 这个说明<h1 后面可以是任意字符 尽可能少 去匹配 遇到?后面,就让?后面去匹配而直接使用.* 也能够
<h1 dd=“dsese” de=dd>dwdf</h1>
<h1></h1>
单是他是作为一组字符串去使用 也就说后面的</(h|H)\d>表达式失去了作用.
理解了这些概念 我想你一定能写出一个符合规定的正则表达式
理解正则就要正确理解意思6个元字符的使用,一定会让你步入正则高手的行列

正则表达式 新手的歧途相关推荐

  1. 正则表达式新手入门笔记(一)

    正则表达式 描述了一种字符串匹配的模式,可以用来检查一个串 是否含有某种子串. 将匹配的子串替换 或者从某个串中取出符合某个条件的子串等. 本章节就来写一下入门正则表达式的收获内容. 首先我们先从正则 ...

  2. 邮箱正则表达式php,邮箱正则表达式验证

    PHP 邮箱验证正则表达式: preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email ); 如果需 ...

  3. 使用正则表达式搜索文本文件

    清单 1. 创建示例文件 mkdir -p lpi103-7 && cd lpi103-7 && { echo -e "1 apple\n2 pear\n3 ...

  4. 学习 Linux,101: 使用正则表达式搜索文本文件

    学习 Linux,101: 使用正则表达式搜索文本文件 概述 本文深入介绍基础的 Linux 进程管理技术.您将学习如何: 创建简单的正则表达式 使用正则表达式搜索文件和文件系统 使用正则表达式和 s ...

  5. 清除购物车的php代码,ecshop 退出清空购物车

    ECshop二次开发博客 ecshop退出登录会清空购物车的bug优化,最完美解决方法 ecshop退出登陆后,会清空购物车,大家都应该知道有这样的勉强算bug的问题. 网上类似的教程相当多,但都有问 ...

  6. 深入分析MVC、MVP、MVVM、VIPER

    前言 看了下上篇博客的发表时间到这篇博客,竟然过了11个月,罪过,罪过.这一年时间也是够折腾的,年初离职跳槽到鹅厂,单独负责一个社区项目,忙的天昏地暗,忙的差不多了,转眼就到了7月. 七月流火,心也跟 ...

  7. 解决ecshop退出登录会清空购物车的bug优化最完美方法

    ecshop退出登陆后,会清空购物车,大家都应该知道有这样的勉强算bug的问题. 网上类似的教程相当多,但都有问题,说句不好听的,算是引新手入歧途! 总结网上方法如下: 1.修改init.php,把s ...

  8. 新手初学Regular Expression正则表达式--快速入门

    看一段英文视频,本来想着学些Natural Language Processing,看完发现原来这就是正则表达式呀,顿感简单呀.所以不要认为什么事情难,去做,去行动吧.不过,我知道对于正则表达式,我还 ...

  9. 新手福音︱正则表达式小工具RegExr

    由于之前在做NLP的内容,势必会接触正则表达式,但是呢,又觉得这个学不明白- 于是,这个工具还是蛮不错的,相当于在线正则速查+验证小工具,对于我这样的新手值得去玩玩. github:https://g ...

最新文章

  1. 患者信息SQL v1
  2. uploadify多文件上传插件
  3. java切换jdk版本_切换JDK版本quick
  4. 实战HPUX 11.31 MC/SG更换锁盘
  5. python有趣的代码-有趣的一行 Python 代码
  6. 汕尾php培训,系统发生错误
  7. Python+Android进行TensorFlow开发
  8. python解析word拆分Excel选择题格式(3、判断题)
  9. 【工控老马】PLC六路抢答器系统设计详解
  10. jsencrypt php,js加密php解密(一)
  11. 超级马里奥代码_任天堂源代码泄露,引出超级马里奥64隐藏24年的角色
  12. python3 + scrapy爬取妹子图(meizitu.com)
  13. 绝地求生 Win10 崩溃解决办法 (提示cmd.exe应用程序错误0xc000124)
  14. vite创建vue保姆级教程
  15. bzoj2946 [Poi2000]公共串(后缀数组 || 后缀自动机)
  16. bottom sheets_使用Sheetson建立由Google Sheets支持的免费电子邮件列表
  17. 小说项目怎么玩才能赚钱?
  18. 新绝代双骄3终极全攻略4
  19. python实现繁体中文和简体中文的互相转化
  20. linux系统安装hba驱动,RedHat Linux下的HBA驱动安装

热门文章

  1. 我们见面吧,钛媒体年度国际大会“坚定”来了!
  2. Fatal Python error: init_stdio_encoding: failed to get the Python codec name of the stdio encoding
  3. 互联网日报 | 小米Q3营收净利创单季历史新高;字节跳动推出线下“松果门诊”;优客工场正式敲钟纳斯达克...
  4. oracle 如何修改某环节时间而后续关联环节时间自动顺延
  5. 关联规则----Apriori算法以及代码实现
  6. mysql 谓语提前_表语 谓语 提前 是什么倒装
  7. 计算机组成原理实验一---运算器 预习报告
  8. 游戏运营是什么?具体负责的工作有哪些?
  9. 全国计算机一级a还是b,计算机一级证和一级B证的区别是什么
  10. 互联网运营面试题_网站运营面试问题