文章标题

来源:互联网 发布:淘宝企业店铺如何报税 编辑:程序博客网 时间:2024/05/17 23:36

我所知道的《正则表达式》

  • 内容:关于js的正则表达式的介绍及简单使用。
  • 目的:献给需要学习正则表达式的朋友们。

在我们日常的开发过程中,我们会遇到许多需要用到正则表达式的地方,为了不一遇到问题去百度,我们需要真正的掌握正则表达式的、语法以及用法。这里我不过多地去写一些关于它的定义、介绍之类的,网上有很多,我不想照抄过来,建议伙伴们先去百度了解基础再来阅读。

我们先打开谷歌浏览器的开发者工具(F12),打开如下界面:
F12截图
js有两种创建正则表达式的方式:
简单的创建
第一种是js将tank转化为了第二种的对象,两者原理是一样的。

在正则表达式中,许多标点符号具有特殊含义:
^ $ . * + ? = ! : | \ / ( ) [ ] { }

  1. 直接量字符
    \o(NULL字符)、\t(制表符)、\n(换行符)、\f(换页符)等等。

  2. 字符类
    […]、[^….]、.(除换行符和其它Unicode行终止符之外的任意字符)、\w(等价于[a-zA-Z0-9])、\W(等价于[^\w])、\s、\S、\d、\D(等价于[^\d])等。

  3. 重复
    {n,m}、{n,}(匹配前一项n次或者更多次)、{n}、?(匹配前一项0或1次)、+、*

  4. 非贪婪的重复
    前面说到的“重复”是尽可能多地匹配,而且允许后续的正则表达式继续匹配,因此我们还可以称其为“贪婪的”匹配。我们同样可以使用正则表达式进行“非贪婪”匹配。只需要在待匹配的字符后跟随一个问号即可:”??”、”+?”、”*?”或”{1,5}?”。
    我们定义一个正则表达式/a+?b/,它匹配尽可能少的a和一个b,当它来匹配”aaab”时,你期望它能匹配一个a和最后一个b,单实际上,这个模式却匹配了整个字符串,和该模式的贪婪模式一模一样,这是因为正则表达式的模式匹配总是会寻找字符串中第一个可能匹配的位置。由于该匹配是从字符串的第一个字符开始的,因此在这里不考虑它的子串中更短的匹配。

  5. 选择、分组和引用
    5.1 选择
    字符”|”用于分隔供选择的字符。例如,/ab|cd|ef/可以匹配”ab”、”cd”或”ef”。
    5.2 分组
    这个其实很简单,跟我们的开发语言类似,就是使用圆括号将单独的项组合起来。例如/java(script)?/可以匹配”java”,后面可没有”script”。
    5.3 引用
    我们可以通过字符”\”后加数字来实现。
    var tank = /(ab)\1/;
    tank.test(‘ab’);
    tank.test(‘abab’);

6 修饰符
修饰符用以说明高级匹配模式的规则,它放在第二条斜线之后。
Js支持3个修饰符,”i”用以说明模式匹配是不区分大小写的;修饰符”g”说明模式匹配应该是全局的,也就是说,应该找出被检索字符串中所有的匹配;修饰符“m”用以在多行模式中执行匹配,在这种模式下,如果字符串包含多行,那么^和/java/m可以匹配“java”也可以匹配“java\nabc”。

好的,暂时就写这么多了。感谢阅读。
请多多留言,批评指正。

1 0
原创粉丝点击