我想在Python中執行一個正則表達式。我想在沒有域擴展名的文件路徑上進行匹配,另外,我只想得到那些文件路徑的最後一個'\'後最多有20個字符的文件路徑。例如,給定的數據:在同一個正則表達式中引用前一個組?
c:\users\docs\cmd.exe
c:\users\docs\files\ewyrkfdisadfasdfaffsfdasfsafsdf
c:\users\docs\files\target
我想匹配'目標',而不是其他兩行。應該注意的是,在我目前的情況下,使用re模塊或python操作的不是一個選項,因爲這個正則表達式被送入程序(它使用re.match()),所以我在一個正則表達式串。
我有兩個正則表達式:
^([^.]+)$ will match the the last 2 lines
([^\\]{,20}$) will match 'cmd.exe' and 'target'
我如何結合這兩種成一個正則表達式?我嘗試了反向引用(?P =等),但無法使其工作。這甚至有可能嗎?
就像'^(。* \\)+ [^ \。] {0,20} $'你想要什麼?根據https://regex101.com/這個作品... – Xufox 2015-04-02 05:14:54
嗯,似乎得到正確的線,但不是它得到了整條線,而不是'目標' – jeffrey 2015-04-02 05:19:14
哎,這有點困難......你可能需要信任「lookbehinds」......你真的想走那麼遠嗎? – Xufox 2015-04-02 05:20:34