zoukankan      html  css  js  c++  java
  • java前后向查找个人理解

    举一个最简单的栗子

    这个前后说的是0宽所在的位置,是在:前还是后

    http://www.sb.com

    1.前向正向查找

    (1)

    如果用:.*(?=:)

    首先(?=:)被称作0宽度断言,所谓0宽度应该是插在了p和:之间的那个0宽度

    这个是规范用法,匹配http,不包括:

    (2)换顺序

    (?=:).*

    (?=:)还是表示插在p和:之间的0宽,所以匹配://www.sb.com,包含:

    2.前向反向查找

    (1)

    .*(?!:)

    匹配全部,因为http://www.sb.com后面并没有:,意思是有:的话,不能匹配:前面的那段,没有的话,相当于.*

    (2)换顺序

    (?!:) .*

    匹配全部,只要匹配结果前面没有:就行

    3.后向正向查找

    (?<=$)[0-9.]+

    i need 100$100

    零宽插在了$的后面,所以不包含$,匹配100

    换顺序

    [0-9.]+(?<=$)

    匹配不到,以为100$会包含其中

    [0-9.$]+(?<=$)

    会匹配到100$

    4.后向负向查找

    i paid $7000 for 1 apple

    (?<!$)d+

    也就是如果有$,后面跟数字,不要.

    换顺序

    d+(?<!$)

    匹配7000和1,只要7000和1后没有$

    新发现就是$7000也算单词边界.

    http://www.sb.com

  • 相关阅读:
    text/css什麼意思
    w3cschool的在線編輯器的特點
    html
    notepad编写html
    html学习心得
    html 链接
    資料鏈接
    微信小程序的界面下拉刷新
    C# PictureBox控件畫圖
    CPK公式
  • 原文地址:https://www.cnblogs.com/ptqueen/p/7028712.html
Copyright © 2011-2022 走看看