① python如何正則表達式匹配固定搭配的文本文件名文件名
abc-bh(?:\.\d+)+\.txt
② 如何在python中用正則表達式批量修改文件名
沒有用過這個軟體,給你點思路,你根據軟體來測試一下
如:
原文件名為:
1-照片一號文件夾,2-照片二號文件夾
要改成:
41-照片一號文件夾,42-照片二號文件夾
在軟體里可能會有「需要改的文件名」,並且可以用正則表達式,你可以輸入:
「*照片*號文件夾」
在輸入「更改後的文件名」:「4*照片*號文件夾」
可能有是否全部替換的選項,你可以先試一個或者兩個。
說明一下,*號代表匹配其他的字元。
③ python正則匹配
java">#!/usr/bin/python
#-*-coding:utf-8-*-
importre
s='<liclass="x-left-li">大小: 1018KB <span>|</span></li> <liclass="x-left-lili-cs">下載: 321次 <span>|</span></li> <liclass="x-left-li">格式: .png <span>|</span></li>'
p=re.compile(r'[sS]*大小[:: f x20]+([da-zA-Z]+)[sS]*下載[:: f x20]+(d+)[sS]*格式[:: f x20]+([.a-zA-Zd]+)[sS]*')
prints+" ";
printp.sub(r'1',s)
printp.sub(r'2',s)
printp.sub(r'3',s)
④ Python正則表達式的幾種匹配方法
1.測試正則表達式是否匹配字元串的全部或部分
regex=ur"" #正則表達式
if re.search(regex, subject):
do_something()
else:
do_anotherthing()
2.測試正則表達式是否匹配整個字元串
regex=ur"/Z" #正則表達式末尾以/Z結束
if re.match(regex, subject):
do_something()
else:
do_anotherthing()
3.創建一個匹配對象,然後通過該對象獲得匹配細節(Create an object with details about how the regex matches (part of) a string)
regex=ur"" #正則表達式
match = re.search(regex, subject)
if match:
# match start: match.start()
# match end (exclusive): atch.end()
# matched text: match.group()
do_something()
else:
do_anotherthing()
4.獲取正則表達式所匹配的子串(Get the part of a string matched by the regex)
regex=ur"" #正則表達式
match = re.search(regex, subject)
if match:
result = match.group()
else:
result = ""
⑤ python 字元串正則匹配的問題
h=re.findall("[0-9a-z]+;.*",content)
h是一個list,然後再write就可以了。
⑥ python有對整個文件進行正則表達式匹配的功能么
如果 Eclipse 堅持認為這個伺服器還沒有啟動成功的話 (我們沒有從 eclipse 中啟動它),我們可以手工做。
也可以寫一個簡單的 main class 在裡面寫上一段連接 TCP 埠 localhost:8005 並發送一條 SHUTDOWN 消息的程序,在 Eclipse 中運行這個 main class 就可以了。
⑦ 如何用python從文中獲取文件名再用正則表達式批量修改文件名
import os
x = 1
while x < 101:
if x < 10:
file_name = "0"+str(x) + ".txt" #10一下則前面補零
file = open(file_name)
else:
file_name = str(x) + ".txt"
file = open(file_name)
line = file.readline()
file.close()
os.rename(file_name,line) #重命名
x = x + 1
⑧ python 正則化匹配返回所有匹配結果
不要用search,用findall
result = re.findall(r'a[0-9]', str)
print(result)
⑨ 強烈推薦!Python 這個寶藏庫 re 正則匹配
Python 的 re 模塊(Regular Expression 正則表達式)提供各種正則表達式的匹配操作。
在文本解析、復雜字元串分析和信息提取時是一個非常有用的工具 ,下面總結了 re 模塊的常用方法。
d 匹配所有的十進制數字 0-9
D 匹配所有的非數字,包含下劃線
s 匹配所有空白字元(空格、TAB等)
S 匹配所有非空白字元,包含下劃線
w 匹配所有字母、漢字、數字 a-z A-Z 0-9
W 匹配所有非字母、漢字、數字,包含下劃線
備註:符號.* 貪婪,符號.*? 非貪婪
[abc]:能匹配其中的單個字元
[a-z0-9]:能匹配指定范圍的字元,可取反(在最前面加入^)
[2-9] [1-3]:能夠做組合匹配
4.{ }:用於標記前面的字元出現的頻率,有如下情況:
{n,m}:代表前面字元最少出現n次,最多出現m次
{n,}:代表前面字元最少出現n次,最多不受限制
{,m}:代表前面字元最多出現n次,最少不受限制
{n}:前面的字元必須出現n次
字元串中有反斜杠的,需要對反斜杠做轉義
():分組字元,可以為匹配到的內容分組,快速獲取到分組中的數據 在正則裡面 "()" 代表的是分組的意思,一個括弧代表一個分組,你只能匹配到 "()" 中的內容。
group:用於查看指定分組匹配到的內容
groups:返回一個元組,組內為所有匹配到的內容
groupdict:返回一個字典,包含分組的鍵值對,需要為分組命名
作用:可以將字元串匹配正則表達式的部分割開並返回一個列表
flags定義包括:
re.I:忽略大小寫
re.L:表示特殊字元集 w, W, b, B, s, S 依賴於當前環境
re.M:多行模式
re.S:』.』並且包括換行符在內的任意字元(注意:』.』不包括換行符)
re.U:表示特殊字元集 w, W, b, B, d, D, s, S 依賴於 Unicode 字元屬性資料庫
在 Python 中使用正則表達式之前,先使用以下命令導入 re 模塊
例如:
『(d)(a)1』 表示:匹配第一是數字,第二是字元a,第三 1 必須匹配第一個一樣的數字重復一次,也就是被引用一次。
如 「9a9」 被匹配,但 「9a8」 不會被匹配,因為第三位的 1 必須是 9 才可以。
『(d)(a)2』 表示:匹配第一個是一個數字,第二個是a,第三個 2 必須是第二組()中匹配一樣的。
如 「8aa」 被匹配,但 「8ab」,「7a7」 不會被匹配,第三位必須是第二組字元的復製版,也是就引用第二組正則的匹配內容。