2016-2-27
常用符號
#-*-coding:utf8-*-import
re# from re import findall,search,s
print('hello world')
secret_code = 'feafefexxixx23fe23xxlovexxafeifvaxxyouxx32fe'
a = 'xz123'
b = re.findall('x'
, a)
# .類似於佔位符
print(b)
a = 'xyxy123'
# *顯示
x的位置
b = re.findall('x*'
, a)
print(b)
b = re.findall('x?'
, a)
print(b)# 。
*貪心查詢最多的在之間
b = re.findall('xx.*xx'
, secret_code)
print(b)# 。
*?最多種的組合
c = re.findall('xx.*?xx'
, secret_code)
print(c)
# 需要的放在()裡,不需要的放在()外
d = re.findall('xx(.*?)xx'
, secret_code)
print(d)
for
each in
d:print(each)
s = '''sdfxxhello
xxfsdfxxworldxxasdf'''
# 第二行的
xx變成開始的
xx,換行符也是
e = re.findall('xx(.*?)xx'
, s, re.s)
# s hello\n world
print(e)
# 對比
search
和findall
的使用s2 = 'asdfxxixx123xxlovexxdfd'
# group
代表了()的個數
f = re.search('xx(.*?)xx123xx(.*?)xx'
, s2).group(2)
print(f)
f2 = re.search('xx(.*?)xx123xx(.*?)xx'
, s2)
#print(f2[0][1])
#sub
s = '123abcssfasdfas123'
# 吧
123之間的字元換成
789output = re.sub('123(.*?)123'
, '123%d123'%789
, s)
print(output)
# (\d+)
匹配數字
a = 'asdfasf1234567fasd55fas'
b = re.findall('(\d+)'
, a)
print(b)
#-*-coding:utf8-*-import
reold_url = ''
total_page = 20
f = open('test.txt'
, 'r')
html = f.read()
f.close()
# search
爬到符合的地方就會停下
# findall
則會遍歷整個文件
title = re.search('(.*?)'
, html, re.s).group(1)
print(title)
links = re.findall('href="(.*?)"'
, html, re.s)
for
each in
links:
print(each)
# 先抓大在抓小
# text_field = re.findall('', html, re.s)
# the_text = re.findall('')
# 翻頁
for
i in
range(2
,total_page+1):
new_link = re.sub('pythonhexinbiancheng00\d+'
, 'pythonhexinbiancheng00%d'%i, old_url, re.s)
print(new_link)
python正規表示式及使用正規表示式的例子
正規表示式 正則表達用來匹配字串 正規表示式匹配過程 正規表示式語法規則 匹配除換行 n 外的任意字串 abcabc 轉義字元,使後乙個字元改變原來的意思 a c a c 字符集,對應的位置可以是字符集中任意字元,字符集中的字元可以逐個列出,也可以給出範圍,如 abc 或 a c 第乙個字元如果是 ...
使用正規表示式
如果原來沒有使用過正規表示式,那麼可能對這個術語和概念會不太熟悉。不過,它們並不是您想象的那麼新奇。請回想一下在硬碟上是如何查詢檔案的。您肯定會使用 和 字元來幫助查詢您正尋找的檔案。字元匹配檔名中的單個字元,而 則匹配乙個或多個字元。乙個如 data?dat 的模式可以找到下述檔案 data1.d...
使用正規表示式
本文節選自 並有稍微修正。使用正規表示式 您可以使用正規表示式做很多事情。在以下的列表中,您可以找到一些最普通 最常用的正規表示式的例子。表示文字串必須在一行的開頭。所以,當查詢行的開頭只為 hosts 的行,可以使用命令 grep ls hosts 代表了一行的結尾。所以,當查詢行的結尾只為 ho...