问题:
/mnt/aapp/dfadf/GJD234.DAT
获取字符串GJD234.DAT
思路:
获取从尾部倒叙到第一个/之前的字符串。
结果:(?<=/)[^/]+$
用到四个部分:
(?<= pattern): 反向肯定预查。如(?<=95|2000)windows 可以匹配 2000windows中windows,但是不能匹配 3.1windows中的windows,意思是从后往前读,先读到windows,然后读到2000了,这个2000不包含在内,这是一个非获取匹配,也就是说,该匹配不获取供以后使用,只是一个条件罢了,其实匹配的是之后的windows。
[^x]: 匹配未包含x的任意字符
+:匹配前面的子表达式一次或者多次,比如am+,一次或多次说的是匹配的m
$:匹配输入字符串结尾位置。
(?<=/)[^/]+反向匹配除了/之外的所有字符一次或者多次
mnt
aapp
dfadf
GJD234.DAT
(?<=/)[^/]+$ 匹配结尾位置之前的字符串。
GJD234.DAT