zoukankan      html  css  js  c++  java
  • JS 正则

    正则表达式的两大功能:
      - 判断字符串是否符合规定的正则
      - 获取匹配的数据

    正则表达式两大方法的基本介绍及应用:

      test   - 判断字符串是否符合规定的正则 

          rep = /d+/;
          rep.test("asdfoiklfasdf89asdfasdf") //默认只要存在符合的就返回true。
          # true


          rep = /^d+$/;
          rep.test("891")
          # true

      exec  - 获取匹配的数据
          rep = /d+/;
          str = "wangshen_67_houyafa_20"
          rep.exec(str)
          # ["67"]

          正则表达式的分组实现
          var test="JavaScript is more fun than Java or JavaBeans!
          var pattern = /Java(w*)/;
          pattern.exec(test)
          # ["JavaScript", "Script"]

          

          正则表达式的全局匹配
          var test="JavaScript is more fun than Java or JavaBeans!"
          var pattern = /Javaw*/g;
          pattern.exec(test)
          # ["JavaScript"]
          pattern.exec(test)
          # ["Java"]
          pattern.exec(test)
          # ["JavaBeans"]
          pattern.exec(test)
          # null
          pattern.exec(test)
          # ["JavaScript"]

          var test="JavaScript is more fun than Java or JavaBeans!"
          var pattern = /Java(w*)/g;
          pattern.exec(test)
          # ["JavaScript",'Script']
          pattern.exec(test)
          # ["Java", ""]
          pattern.exec(test)
          # ["JavaBeans", "Beans"]
          pattern.exec(test)
          # null

      多行匹配:/.../m 表示多行匹配
          默认就是多行匹配
          test="test content JavaScript is more fun than Java or JavaBeans!"
          # "test content
          JavaScript is more fun than Java or JavaBeans!"
          var pattern=/Java(w*)/
          # undefined
          pattern.exec(test);
          # ["JavaScript", "Script"]


        加上/.../m后
          test="JavaScript is more fun than Java or JavaBeans!"
          # "JavaScript is more fun than
          Java or JavaBeans!"
          var pattern=/^Java(w*)/gm
          # undefined
          pattern.exec(test)
          # (2) ["JavaScript", "Script", index: 0, input: "JavaScript is more fun than ↵Java or JavaBeans!"]
          pattern.exec(test)
          # (2) ["Java", "", index: 29, input: "JavaScript is more fun than ↵Java or JavaBeans!"]
          pattern.exec(test)
          # null
          通过上面的实例可以得知,/.../m表示的多行匹配是字符串之间用换行符换行后,将换行后的开头作为字符串的开头。

  • 相关阅读:
    csp-s模拟 77/78 (达哥专场)
    csp-s 模拟76
    csp-s模拟75 导弹袭击
    反思集
    模拟69/70 考试反思
    抱大腿
    csp-s模拟61 甜圈
    实时记录
    好题思路集汇
    半集训反思 8.28 「路,还是要自己走的」
  • 原文地址:https://www.cnblogs.com/zoe233/p/7567089.html
Copyright © 2011-2022 走看看