zoukankan      html  css  js  c++  java
  • 正则表达式那些事儿(一)

    前言:

    有些同仁说正则表达式是火星文,是天书,能一下子读懂的那一大串 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

  • 相关阅读:
    二叉排序树 常用函数小结
    二叉树的应用:二叉排序树的删除
    剑指 Offer 32
    剑指 Offer 32
    剑指 Offer 68
    剑指 Offer 28. 对称的二叉树 做题小结
    正则表达式不要背
    剑指 Offer 55
    LeetCode226. 翻转二叉树 做题小结
    Tools | 编程IED/编译器
  • 原文地址:https://www.cnblogs.com/dereksunok/p/3670355.html
Copyright © 2011-2022 走看看