1. 程式人生 > >Python 正則表示式從Windows路徑中獲取資料夾

Python 正則表示式從Windows路徑中獲取資料夾

<pre name="code" class="python">1. Regular Expression
^([a-zA-Z]:|\\\\[a-zA-Z0-9_.$ -]+\\[a-z0-9_.$ -]+)?((?:\\|^)(?:[^\\/:*?"<>|\r\n]+\\)+)

eg.
c:\folder\subfolder\file.ext

Extract:
\folder\subfolder\

\\server\share\folder\subfolder\file.ext

Extract:
\folder\subfolder\

2. Python code
import re
subject = 'c:\\folder\\subfolder\\file.ext'
match = re.search(r'^([a-zA-Z]:|\\\\[a-zA-Z0-9_.$ -]+\\[a-z0-9_.$ -]+)?((?:\\|^)(?:[^\\/:*?"<>|\r\n]+\\)+)', subject)
if match:
	result = match.group(2)
else:
	result = ""

print result,


相關推薦

Python 表示式Windows路徑獲取資料

<pre name="code" class="python">1. Regular Expression ^([a-zA-Z]:|\\\\[a-zA-Z0-9_.$ -]+\\[a-z0-9_.$ -]+)?((?:\\|^)(?:[^\\/:*?"<&

Python 表示式提取Windows路徑檔名

1. Regular Expression [^\\/:*?"<>|\r\n]+$ eg. c:\foler\file.ext Extract: file.ext 2. Python Code import re subject = 'c:\\foler

Python 表示式驗證Windows路徑

1. Dirve letter paths (?x)\A [a-zA-Z]:\\ # Drive (?:[^\\/:*?"<>|\r\n]+\\)* # Folder [^\\/:*?"<>|\r\n]*

利用表示式檔案路徑匹配檔名

第一種,檔名不包含副檔名: 正則表達寫法:([^<>/\\\|:""\*\?]+)\.\w+$ java中的寫法: …… String reg = "([^<>/\\\\|:\"\"\\*\\?]+)\\.\\w+$+"; Matcher m = P

python表示式字串提取數字

python從字串中提取數字 使用正則表示式,用法如下: ## 總結 ## ^ 匹配字串的開始。 ## $ 匹配字串的結尾。 ## \b 匹配一個單詞的邊界。 ## \d 匹配任意數字。 ## \D

python 表示式找出字串的純數字

1、簡單的做法 >>> import re >>> re.findall(r'\d+', 'hello 42 I'm a 32 string 30') ['42', '32', '30'] 然而,這種做法使得字串中非純數字也會識別 >

[C/C++標準庫]_[初級]_[使用表示式過濾Windows檔名的非法字元]

場景 1.Windows和macOS的檔名有自己的命名規則, 特別是Windows的檔名限制了不允許使用的特殊字元. 在使用這些檔名新建檔案時會建立失敗. 說明 1.在前面的文章裡在Windo

python學習筆記】用表示式含中文的網頁提取資料(含編碼轉換)

目標:用正則表示式從含中文的網頁中提取資料 1、獲得網頁全部資料 1.1思考過程 確定我們要操作的網頁:url = 'http://q.stock.sohu.com/cn/603077/cwzb.shtml' 開啟要操作的網頁:req = urllib2.open(url)

QT 用表示式tableView篩選出某一日期範圍內的資料

QDate date1,date2; date1=ui->dateEdit_2->date();//提取開始時間 date2=ui->dateEdit_3->date();//提取結束時間 data_filter->

java使用表示式一長串字元獲取一段特徵字串

只能說String工具類太強大,導致一直以來,幾乎沒怎麼用到過正則表示式,現在突然要用到,參考正則表示式語法,摸索一上午才搞出來。記錄分享一下,以免忘記 從一長串字元中,截取出邀請碼,我想很多人都遇到過。 String s = "邀請您加入隨心購,自動搜尋淘寶天貓優惠券!先領券,再購

關於python表示式匹配分組的問題

在爬取網頁資訊時,我們不妨會用到Python正則表示式。之前一直沒有太明白關於正則表示式匹配分組的問題,今天終於搞清楚了,所以特意寫一下讓自己印象深刻。 myPage = requests.get(url).content.decode("gbk") 通過requests我們在網頁得到了這樣

Python 表示式,search(不要求開頭匹配),findall(匹配所有),sub(替換),split(切割)

match()從開頭匹配。 search()不要求從開頭匹配,只會匹配第一個。 findall()匹配所有,返回列表。 sub()替換匹配到的所有子串為指定內容,並返回整個字串。 split()切割字串,返回列表。   demo.py(search,不要求從開頭匹配

Python 表示式,re模組,match匹配(預設開頭匹配),分組

  單個字元: 數量詞: 匹配開頭、結尾: 匹配分組:   demo.py(正則表示式,match從開頭匹配,分組,分組別名): # coding=utf-8 import re # 小括號()表示分組 \1表示取出第

Python表示式的re.S的作用

在Python的正則表示式中,有一個引數為re.S。它表示“.”(不包含外側雙引號,下同)的作用擴充套件到整個字串,包括“\n”。看如下程式碼: import re a = '''asdfhellopass: 123 worldaf '''

python 表示式去除文字標籤內容

print re.sub("<[^>]*>","",text) 輸出正確結果,而 print t.replace("<[^>]*>","")不能輸出正確結果 import re t = "<text>jsdkjfsgn&l

Python表示式Refindall

findall中()裡面的內容是需要捕獲的內容,但是如果我們想捕獲整個正則表示式的結果則需要新增如下程式碼: #-*-coding:utf8-*- import re str1 = "[email protected]@[email protected]@asdfcom" a

Python表示式的常用符號

Python正則表示式中常用的符號 簡介 正則表示式之所以叫做正則表示式,是因為他們可以識別正則字串;源字一本書中的定義是:“如果你給我的字串符合規則,我就返回它”,或者是“如果字串不符合規則,我就忽略它”。Python正則表示式在編寫網路爬蟲程式碼時使用可

Python表示式的貪心模式和非貪心模式

宣告:最近發現有人利用我在百度雲盤裡免費分享的127課Python視訊盈利,並聲稱獲得我的授權。

使用表示式字串查詢子字串

直接上程式碼: String string = "asdasd#_%12.gifdadsa#_%2324.gif"; String regx = "#_%\\d+.gif"; Patter

C#利用表示式檢測檔案路徑的合法性

專案中少不了讀取或設定檔案路徑的功能,如何才能對輸入的路徑是否合法進行判斷呢?用正則表示式是個不錯的方式。我們都知道檔案路徑的字串一般格式,首先是碟符,一般是abcde等字幕,碟符後用冒號隔開,然後用“\”隔開各層資料夾,如:F:\Funny\22\renxi,