問題:windows
/mnt/aapp/dfadf/GJD234.DATapp
獲取字符串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