正则 ?<= 和 ?= 用法,范例
Posted 君子笑而不语
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则 ?<= 和 ?= 用法,范例相关的知识,希望对你有一定的参考价值。
(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
以上是关于正则 ?<= 和 ?= 用法,范例的主要内容,如果未能解决你的问题,请参考以下文章
JAVA中string.replace和string.replaceAll的区别及用法