python re
时间: 2023-10-20 09:35:18 浏览: 117
Python re模块是Python中用于处理正则表达式的标准库。正则表达式是一种强大的工具,用于匹配、搜索和替换文本字符串中的模式。re模块提供了一系列的函数,可以通过正则表达式进行字符串匹配、查找、替换等操作。
例如,使用re模块可以删除字符串中的注释或非数字字符,如下所示:
import re
phone = "2004-959-559 # 这是一个国外电话号码"
# 删除字符串中的注释
num = re.sub(r'#.*$', "", phone)
print("电话号码是: ", num)
# 删除非数字(-)的字符串
num = re.sub(r'\D', "", phone)
print("电话号码是: ", num)
这里的re.sub函数可以通过正则表达式,将字符串中匹配的部分替换为指定的内容。
另外,re模块还可以用于从文本文件中匹配并提取数据。例如,以下代码可以匹配文件中包含"PsARegion"的行,并取出前两个列:
import re
f = open("/root/data.txt")
line = f.readline()
text = ""
pattern = re.compile("PsARegion")
while line:
if(pattern.search(line)):
dataList = re.split(",", line)
line = str(dataList) + "," + str(dataList) + "\n"
text += line
line = f.readline()
print(text, end='')
f.close()
这里的re.compile函数用于编译正则表达式,pattern.search函数用于在字符串中搜索匹配的部分。re.split函数用于按照指定的分隔符将字符串分割为列表。通过这些函数的组合,我们可以实现对文件中特定行的匹配和提取操作。
另外,如果只是简单地输出匹配到"PsARegion"的行,可以使用以下代码:
import re
f = open("/root/data.txt")
line = f.readline()
text = ""
pattern = re.compile("PsARegion")
while line:
if(pattern.search(line)):
text += line
line = f.readline()
print(text, end='')
f.close()
这里的逻辑与上一个例子相似,只不过不需要提取数据,只需输出匹配到的行。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
#### 引用[.reference_title]
- *1* *2* *3* *4* [【Python】系列模块之标准库re详解](https://blog.csdn.net/qq_35995514/article/details/130822861)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文