zoukankan      html  css  js  c++  java
  • 正则 ?<= 和 ?= 用法,范例

    (exp) 匹配exp,并捕获文本到自动命名的组里
    (?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)
    (?:exp) 匹配exp,不捕获匹配的文本
    位置指定
    (?=exp) 匹配exp前面的位置
    (?<=exp) 匹配exp后面的位置
    (?!exp) 匹配后面跟的不是exp的位置
    (?<!exp) 匹配前面不是exp的位置

    -----------------------------------------------------------------------------------------------------------------------------------

     

    例子:

    测试1:

    假如有下面一串经纬度str,小数点后长度<16,长度不一。

    {"lat":"30.769432950801377","lng":"103.9813772899"},{{"lat":"30.6697164","lng":"103.9816054999999947"}

    测试1:匹配经纬度末尾4位(引号前4位),以便干掉。

    d{4}(?=")
    -----------------------------------

      共找到 4 处匹配:
      1377
      2899
      7164
      9947

     

    测试2:

    {"lat":"30.769432950801377","lng":"103.9813772899"},{{"lat":"30.6697164","lng":"103.9816054999999947"}

    经纬度保留小数点后6位,匹配出多余的数字以便干掉:(小数点后第七位到末尾的数字)

    表达式为:

    (?<=.d{6})d{0,10}(?=")
    ---------------------------------

      共找到 4 处匹配:
      950801377
      2899
      4
      4999999947

  • 相关阅读:
    杭电1827
    hdu 3118
    poj 2060
    hdu 2236
    poj 2226
    poj 1719
    poj 1466
    poj 3160
    骑士飞行棋笔记
    基础测试学习笔记
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/9087334.html
Copyright © 2011-2022 走看看