㈠ python正則如何匹配兩位數,如「123456 8888 36」,如何匹配出「36」這兩位數
按照你的要求用正則匹配兩位數的Python程序如下
import re
s="123456 8888 36"
regex=r'd{2}'
temp=re.compile(regex)
print(temp.findall(s))
㈡ 請問這里的數據如何用Python的正則表達式匹配出來(或者其他更簡便方法)
#-*-coding:utf-8-*-
importre
s=u'[{"timestamp":1462590135,"rawXML":"<TimelineObject><id><![CDATA[12269095309121622313]]></id><username><![CDATA[xxxxxx123]]></username><createTime><![CDATA[1462590135]]></createTime><contentDescShowType>0</contentDescShowType><contentDescScene>4</contentDescScene><private><![CDATA[0]]></private><contentDesc><![CDATA[是正解]]></contentDesc><contentattr><![CDATA[0]]></contentattr><sourceUserName></sourceUserName><sourceNickName></sourceNickName><statisticsData></statisticsData><locationpoiClickableStatus="0"poiClassifyType="0"longitude="0.0"latitude="0.0"poiScale="0"poiName=""poiClassifyId=""poiAddress=""city=""></location><ContentObject><contentStyle><![CDATA[3]]></contentStyle><title><![CDATA[婚姻中遇到真愛,要不要離婚?]]></title><description><![CDATA[婚姻中遇到真愛應該離婚嗎? 真的有靈魂伴侶嗎? 如何判斷一個人適不適合成為自己的伴侶?]]></description><contentUrl><!'
m=re.compile('<username>(.*)<\/username>')
printre.search(m,s).groups()[0]
輸出>>>
<![CDATA[xxxxxx123]]>
注意:及/為正則表達式中特殊符號,需要轉義才可用。
㈢ python正則表達式怎麼匹配多個數字
1. 首先 p.search(s) 只會找第一個匹配的字元串
2. 其次 p.findall(s) 會記錄匹配的組,而(19|20) 代表一個組,應該改成(?:19|20)
以下代碼可以滿足你的要求:
# -*- coding: utf-8 -*-
from __future__ import print_function, division
import re
s = 'ID: 042 SEX: M DOB: 1967-08-17 Status: Active 1968'
p = re.compile(r'(?:19|20)\d{2}')
#s = 'ID: 042 SEX: M DOB: 1967-08-17 Status: Active 1968'
all_items = re.findall(p,s)
map(print, all_items)
print(all_items)
㈣ python 正則表達式,怎樣匹配以某個字元串開頭,以某個字元串結尾的情況
python正則匹配以xx開頭以xx結尾的單詞的步驟:
1、假設需要匹配的字元串為:site sea sue sweet see case sse ssee loses需要匹配的為以s開頭以e結尾的單詞。正確的正則式為:sS*?e
2、使用python中re.findall函數表示匹配字元串中所有的可能選項,re是python里的正則表達式模塊。findall是其中一個方法,用來按照提供的正則表達式,去匹配文本中的所有符合條件的字元串。
3、代碼和結果如下:
text ='site sea sue sweet see case sse ssee loses'
re.findall(r'sS*?e',text)
結果為:['site', 'sue', 'see', 'sse', 'ssee']
(4)python正則匹配浮點數擴展閱讀:
python正則匹配,以某某開頭某某結尾的最長子串匹配
代碼如下:
regVersions = re.search(r'(V|v)[0-9].*[0-9]', filename)
if regVersions:
print regVersions.group()
㈤ python中如何批量替換字母+數字為浮點數或整數類型
給你個思路:
1. 通過正則表達式,來提取你要求的數據,前面兩個字母,後四位數字。
2. 對提取的數據進行分離出字母和數字兩部分。
3. 將提取的數字部分進行轉換
4. 然後在將字母和轉換後的數字進行拼接,這步可有可無。。。
當然還有個簡單的方法,上面的思路是清晰的,但是相對來說是繁瑣的,比較low。
希望能幫到你。。。。。。
㈥ 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 基礎教程 第10章,正則表達式匹配問題
importre
a=re.compile(r'[(.+?)]')
scope={}
defreplace(ddd):
code=ddd.group(1)
try:
returnstr(eval(code,scope))
exceptSyntaxError:
exec(code,scope)
returncode
print(a.sub(replace,'[x=1],[y=2],[z=2],thesumof[x],[z]and[y]is[x+y+z]'))
scope是在全局變數里保存正則匹配出來的x,y,z變數,存到全局變數里去;
這本書的案例在except SyntaxError:後面少了點代碼,只提供注釋,前面其實已經提到用exec賦值了,只是代碼里沒有體現出來,我完善了下這個應該能看懂了,還有[],正則已經把[]替換掉了,換成x,y,z對應的值