zoukankan      html  css  js  c++  java
  • 正则表达式学习 简单

    这两天对js正则表达式的认识,又有所强化:

    1. 正则匹配顺序:

    直接看示例: /^\s*(.*)\s*$/gi(愿意是实现trim功能) 匹配文本 " abcd   adddd    "

       由于*的贪婪性,通过^\s* 先顺序读取到文本开头的空格,然后继续匹配,正则的.*匹配了后边所有的内容(而尾部\s*$ 则仅仅匹配了空字符串)

      按照这种匹配顺序,就可以用一种替换方案:先去掉开头的空白,再去掉尾部的空白

    2. 反义字符类的使用:

     之前一直有误区,认为直接使用^就可以表示反义,其实正确的说法应该是:

    配合[^]才能实现反义字符类

    示例:/[^1-9]/  表示匹配的内容不是数字1-9.

    3. 一个示例看思维:

     从指定字符串中提取域名和端口号,如:

    www.123.com

    www.456.com:8080

    正则:re = /([^\/\:]*):?(\d*)/ 

    (之前一直纠结于/.+:?(\d*)/,明显.+具有贪婪性,直接匹配整个字符串。所有,针对这种场景,需要反过来思考)

  • 相关阅读:
    动态传参
    函数的介绍
    文件的操作
    send email with formatted table
    minimize and close window with customed winform
    python algorithm
    something important about docker
    book list
    which language is suitable for what to do
    Find Duplicate Items in list fast
  • 原文地址:https://www.cnblogs.com/chyong168/p/2256167.html
Copyright © 2011-2022 走看看