• 正则表达式那些事儿(一)


    前言:

    有些同仁说正则表达式是火星文,是天书,能一下子读懂的那一大串 var reg = /w[^a-z]?+/g;这什么玩意儿的,要么神,要么不是人。。。

    暂且不管这一串是什么玩意儿,我们可以想想正则表达式是什么一个东东,其实它就是js中的一个对象 RegExp() 。

    果断访问度娘知道,搜索“正则表达式”可知:正则表达式,又称正规表示法常规表示法,来描述、匹配一系列符合某个句法规则的字符串,被用来检索、替换那些符合某个模式的文本。

    简单说,就是定义一些规则来过滤、匹配字符串。那这其中有哪些语法规则呢?接着看下面吧。

    关于字符串的相关操作:

    js中常用的字符串操作大致有下列方法:

    • charAt() 返回在指定位置的字符
    • indexOf() 检索字符串
    • match() 找到一个或多个正则表达式的匹配
    • replace() 替换与正则表达式匹配的子串
    • search() 检索与正则表达式相匹配的值
    • split() 把字符串分割为字符串数组
    • substring() 提取字符串中两个指定的索引号之间的字符

    如何定义正则表达式:

    1 var reg = new RegExp('a');  // js定义法
    2 var reg = /a/;         // perl定义法

    我们需要匹配的规则是写在这儿:new RegExp('写在这儿') 或者写在这儿:/写在这儿/;

    代码一:查找字母 'a' 

     1 <!doctype html>
     2 <html>
     3 <head>
     4 <meta charset="utf-8">
     5 </head>
     6 <body>
     7 <script>
     8 window.onload = function(){
     9     var str = 'abcefd';
    10     var reg = /a/;
    11     alert(str.match(reg));
    12     alert(reg.test(str));
    13     str = str.replace(reg,'A');
    14     alert(str);
    15 }
    16 </script>
    17 </body>
    18 </html>
    

    》简单分析

    上面的代码中演示了如何定义一个正则表达式,其中:

    var reg = /a/; 的含义就是 查找字母 'a'。我们可以举一反三,定义 reg = /ab/; 定义 reg = /abc/; 等等。

    对照着上文中字符串的常用操作方法,就完成了我们第一个案例,哈。。。正则表达式的旅程刚刚开始。

    大家需要注意的是,js是对字母大小写敏感的,对于字符串大小写的过滤区分,将在下文中提及。

    【未完】

    参考手册:http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

  • 相关阅读:
    模板:Prime最小生成树堆优化 + Dijkstra单源最短路堆优化
    线段树
    算法竞赛进阶指南——后缀数组
    浏览器后退刷新页面
    layer.photos()异步修改图片地址后显示异常
    img transform:scale 放大在ios下变模糊
    手机端input[type=date]的placeholder不起作用
    zepto和jQuery on事件委托在苹果手机上的”坑“
    js cookie存取
    js实现消息滚动效果
  • 原文地址:https://www.cnblogs.com/dereksunok/p/3670355.html
Copyright © 2020-2023  润新知