婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 正則表達式筆記三則

正則表達式筆記三則

熱門標簽:自己做的電銷機器人 浙江營銷外呼系統有哪些 山東外呼系統聯系方式 哈爾濱公司外呼系統代理 地圖標注店鋪地圖標注酒店 淄博市張店區地圖標注 惠安地圖標注 遼寧秒客來電話機器人 上海銷售電銷機器人軟件
首字母大小寫無關模式
有一段時間,我在寫正則表達式來匹配Drug關鍵字時,經常寫出 /viagra|cialis|anti-ed/ 這樣的表達式。為了讓它更美觀,我會給關鍵詞排序;為了提升速度,我會使用 /[Vv]iagra/ 而非/viagra/i ,只讓必要的部分進行大小寫通配模式。確切地說,我是需要對每個單詞的首字母進行大小寫無關的匹配。

我寫了這樣的一個函數,專門用來批量轉換。

復制代碼 代碼如下:

#convert regex to sorted list, then provide both lower/upper case for the first letter of each word
#luf means lower upper first

sub luf{
# split the regex with the delimiter |
my @arr=sort(split(/\|/,shift));

# provide both the upper and lower case for the
# first leffer of each word
foreach (@arr){s/\b([a-zA-Z])/[\l$1\u$1]/g;}

# join the keyword to a regex again
join('|',@arr);
}

print luf "sex pill|viagra|cialis|anti-ed";
# the output is:[aA]nti-[eE]d|[cC]ialis|[sS]ex [pP]ill|[vV]iagra

控制全局匹配下次開始的位置

記得jyf曾經問過我,如何控制匹配開始的位置。嗯,現在我可以回答這個問題了。Perl 提供了 pos 函數,可以在 /g 全局匹配中調整下次匹配開始的位置。舉例如下:
復制代碼 代碼如下:

$_="abcdefg";
while(/../g)
{
print $;
}

其輸出結果是每兩個字母,即ab, cd, ef

可以使用 pos($_)來重新定位下一次匹配開始的位置,如:

復制代碼 代碼如下:

$_="abcdefg";
while(/../g)
{
pos($_)--; #pos($_)++;
print $;
}

輸出結果:

復制代碼 代碼如下:

pos($_)--: ab, bc, cd, de, ef, fg.
pos($_)++: ab, de.

可以閱讀 Perl 文檔中關于 pos的章節獲取詳細信息。

散列與正則表達式替換
《effective-perl-2e》第三章有這樣一個例子(見下面的代碼),將特殊符號轉義。
復制代碼 代碼如下:

my %ent = { '' => 'amp', '' => 'lt', '>' => 'gt' };
$html =~ s/([>])/$ent{$1};/g;

這個例子非常非常巧妙。它靈活地運用了散列這種數據結構,將待替換的部分作為 key ,將與其對應的替換內容作為 value 。這樣只要有匹配就會捕獲,然后將捕獲的部分作為 key ,反查到 value 并運用到替換中,體現了高級語言的效率。

不過,這樣的 Perl 代碼,能否移植到 Python 中呢? Python 同樣支持正則,支持散列(Python 中叫做 Dictionary),但是似乎不支持在替換過程中插入太多花哨的東西(替換行內變量內插)。

查閱 Python 的文檔,(在 shell 下 執行 python ,然后 import re,然后 help(re)),:

復制代碼 代碼如下:

sub(pattern, repl, string, count=0)
Return the string obtained by replacing the leftmost
non-overlapping occurrences of the pattern in string by the
replacement repl. repl can be either a string or a callable;
if a string, backslash escapes in it are processed. If it is
a callable, it's passed the match object and must return
a replacement string to be used.

原來 python 和 php 一樣,是支持在替換的過程中使用 callable 回調函數的。該函數的默認參數是一個匹配對象變量。這樣一來,問題就簡單了:

復制代碼 代碼如下:

ent={'':"lt",
'>':"gt",
'':"amp",
}

def rep(mo):
return ent[mo.group(1)]

html=re.sub(r"([>])",rep, html)

python 替換函數 callback 的關鍵點在于其參數是一個匹配對象變量。只要明白了這一點,查一下手冊,看看該種對象都有哪些屬性,一一拿來使用,就能寫出靈活高效的 python 正則替換代碼。

標簽:西安 無錫 泰州 重慶 長沙 銅川 綿陽 宣城

巨人網絡通訊聲明:本文標題《正則表達式筆記三則》,本文關鍵詞  正則,表達式,筆記,三則,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《正則表達式筆記三則》相關的同類信息!
  • 本頁收集關于正則表達式筆記三則的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲欧美一区二区三区孕妇| 久久久国产一区二区三区四区小说 | 琪琪一区二区三区| 免费成人在线影院| 国产99精品在线观看| 一区二区三区精品在线观看| 亚洲精品国产一区二区精华液 | 久久久久久久久99精品| 久久久一区二区三区| 国产精品久久久久影院老司| 天天操天天综合网| 国产成人av影院| 欧美色成人综合| 日韩久久久精品| 国产日韩欧美精品电影三级在线| 亚洲精品一二三| 国产在线精品一区二区三区不卡| 一本一道波多野结衣一区二区 | 日韩伦理电影网| 国产精品九色蝌蚪自拍| 久久国产视频网| 成人黄色小视频| 欧美日韩二区三区| 国产精品福利一区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美日韩一级大片网址| 欧美极品少妇xxxxⅹ高跟鞋| 日日骚欧美日韩| 色综合久久中文字幕| 久久久www成人免费毛片麻豆| 亚洲成人一区在线| 色综合天天综合网国产成人综合天| 欧美岛国在线观看| 亚洲最大的成人av| 色婷婷久久久综合中文字幕 | 在线欧美小视频| 欧美精品一区二区三区蜜臀| 亚洲免费资源在线播放| 黄色精品一二区| 欧美日韩精品免费观看视频| 中文字幕在线观看不卡视频| 国产精品1区2区3区在线观看| 欧美成人女星排行榜| 亚洲国产综合视频在线观看| 色综合天天综合在线视频| 中文字幕一区在线观看视频| 成人亚洲精品久久久久软件| 日韩欧美亚洲国产另类| 日韩av电影免费观看高清完整版| 欧美性视频一区二区三区| 一二三区精品视频| 国产乱码精品一品二品| 欧美精品一区二区三区蜜臀| 五月激情六月综合| av不卡在线播放| 国产精品久久免费看| 成人午夜电影小说| 中文字幕一区二区在线播放| 成人福利视频网站| 亚洲色图19p| 色婷婷亚洲精品| 亚洲v精品v日韩v欧美v专区| 欧美日韩成人综合| 免费国产亚洲视频| 99精品黄色片免费大全| 亚洲免费在线观看| av在线免费不卡| 色嗨嗨av一区二区三区| 欧美精品久久99| 国产呦精品一区二区三区网站| 精品国产网站在线观看| 日本韩国视频一区二区| 亚洲欧美日韩成人高清在线一区| 99免费精品视频| 亚洲精品你懂的| 欧美色网一区二区| 日韩精品1区2区3区| 精品国产制服丝袜高跟| 国产成人亚洲综合a∨猫咪| 国产精品女上位| 欧美中文字幕亚洲一区二区va在线 | 成人免费在线视频| 91高清在线观看| 视频在线观看91| a美女胸又www黄视频久久| 亚洲一区二区三区在线| 色综合天天综合狠狠| 一区二区三区四区av| 正在播放亚洲一区| 国产精品综合一区二区| 综合久久综合久久| 日韩一区二区三区电影| 成人黄色在线看| 日韩国产成人精品| 国产精品女同一区二区三区| 欧美日韩国产片| 成人免费av资源| 亚洲成人手机在线| 国产精品国产三级国产| 欧美一级欧美三级在线观看| 成人黄色小视频| 久久99热狠狠色一区二区| 亚洲免费色视频| 久久久久久一二三区| 欧美日韩亚洲综合一区二区三区 | 制服丝袜亚洲播放| 欧美成人aa大片| 久久九九全国免费| 最新高清无码专区| 亚洲少妇30p| 日韩一区二区不卡| 一本在线高清不卡dvd| 国产一区视频在线看| 亚洲va国产天堂va久久en| 国产精品久线观看视频| 欧美不卡一区二区三区四区| 日本福利一区二区| 国产九九视频一区二区三区| 肉色丝袜一区二区| 亚洲在线免费播放| 综合电影一区二区三区| 国产亚洲综合在线| 日韩视频国产视频| 欧美精品免费视频| 欧美无砖专区一中文字| 91久久免费观看| 91丨porny丨最新| 国产.精品.日韩.另类.中文.在线.播放 | 国产福利一区二区| 99精品视频一区| 久久久精品免费免费| 国产91精品一区二区麻豆亚洲| 日本aⅴ亚洲精品中文乱码| 亚洲美女电影在线| 中文字幕在线一区| 国产精品久久久99| 中文字幕在线观看不卡| 国产精品你懂的| 欧美国产1区2区| 国产精品久久久久久久岛一牛影视 | 亚洲黄一区二区三区| 国产精品免费av| 中文字幕一区二区三区在线播放 | 国产高清无密码一区二区三区| 毛片一区二区三区| 日本一区二区免费在线观看视频| 日本不卡高清视频| 亚洲成a人片在线不卡一二三区| 一区二区免费看| 亚洲综合一二区| 日韩精品亚洲专区| 日本女人一区二区三区| 美国欧美日韩国产在线播放| 美国毛片一区二区三区| 国产综合一区二区| 成人午夜电影小说| 日本韩国精品在线| 欧美一区二区日韩| 日韩精品一区二区在线| 久久综合色播五月| 国产精品青草综合久久久久99| 自拍偷自拍亚洲精品播放| 亚洲一区二区三区中文字幕| 日韩精品电影一区亚洲| 国产综合成人久久大片91| 成人的网站免费观看| 91免费小视频| 欧美日本不卡视频| 精品国免费一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲精品高清在线| 青青草一区二区三区| 国产成人久久精品77777最新版本| 99re6这里只有精品视频在线观看| 欧美日韩一区二区三区四区五区 | 午夜精品一区二区三区免费视频 | 26uuu精品一区二区| 中文字幕国产一区| 亚洲国产精品尤物yw在线观看| 精品一区二区在线播放| 成人h精品动漫一区二区三区| 精品视频免费看| 国产精品视频一二三| 日韩黄色免费网站| av不卡在线播放| 91精品午夜视频| 国产精品进线69影院| 亚洲国产成人高清精品| 国产高清不卡二三区| 欧美亚一区二区| 国产欧美精品一区| 日韩精彩视频在线观看| 成人激情电影免费在线观看| 欧美一区二区三区日韩视频| 亚洲欧美激情一区二区| 九色|91porny| 欧美日韩在线播放三区四区| 国产精品久线在线观看| 韩国欧美一区二区| 欧美久久一二区|