java前后向查找个人理解

Posted 简单生活

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

\b(?<!\$)\d+\b

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

换顺序

\b\d+(?<!\$)\b

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

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

 

 

 

http://www.sb.com

以上是关于java前后向查找个人理解的主要内容,如果未能解决你的问题,请参考以下文章

项目管理从零到一的流程---个人理解向

项目管理从零到一的流程---个人理解向

个人对于spring mvc框架的理解

kmp算法的个人理解

setdefault函数的用法及个人理解

setdefault函数的用法及个人理解