最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python正則表達式的小練習分享

 更新時間:2022年04月18日 09:35:33   作者:渴望力量的哈士奇  
為了讓大家更進一步了解Python中的正則表達式使用,本文為大家分享了三個正則表達式使用小練習,感興趣的小伙伴可以學習一下

匹配網(wǎng)址 url 的小練習

定義一個函數(shù),判斷 url 是否是一個正常的地址。

定義一個函數(shù),只獲取 url 的域名部分

import re


url_ture = "https://www.csdn.net/"
url_false = "ftp://110.110.110.110:8080"

def check_url(url):
    result = re.findall('[a-zA-z]{4,5}://\w*\.*\w+\.\w+', url)

    if not len(result) == 0:
        return 'url 是一個合法的網(wǎng)站地址'
    else:
        return 'url 是一個不合法的網(wǎng)站地址'


def get_url(url):
    result = re.findall('https://(\w*\.*\w+\.\w+)', url)

    if not len(result) == 0:
        return result[0]
    else:
        return []



if __name__ == '__main__':
    result_true = check_url(url_ture)
    print(result_true)
    result_false = check_url(url_false)
    print(result_false)

    result_url_01 = check_url("http://csdn.com")
    print(result_url_01)
    result_url_02 = check_url("https://www.csdn.com")
    print(result_url_02)

    get_url_true = get_url(url_ture)
    print(get_url_true)
    get_url_false = get_url(url_false)
    print(get_url_false)

執(zhí)行結(jié)果如下:

匹配郵箱地址的小練習

定義一個函數(shù),獲取郵箱的地址。

import re


email = "Neo@protonmail.com"


def get_email(email):
    # result = re.findall('[0-9a-zA-Z]+@[0-9a-zA-Z]+\.[a-zA-Z]+', email)      # 這樣寫比較復雜,可以使用通配符
    result = re.findall('.+@.+\.[a-zA-Z]', email)
    return result


if __name__ == '__main__':
    get_email = get_email(email)
    print(get_email)
    
# >>> 執(zhí)行結(jié)果如下:
# >>> ['Neo@protonmail.com']

獲取前端代碼內(nèi)容的練習

接下來做一個稍微復雜一些的練習:

定義一個函數(shù),獲取一段前端代碼中雙引號包裹的內(nèi)容。

定義一個函數(shù),獲取該段前端代碼中所有的雙引號包裹的內(nèi)容

import re


html = ('<div class="s-top-nav" style="display:none;">'
        '</div><div class="s-center-box"></div>')		# 這是前端代碼,暫時不用理解是什么意思


def get_html_data(html):
    re_g = re.compile('style="(.*?)"')      # 非貪婪模式獲取 style 標簽的內(nèi)容
    result = re_g.findall(html)
    return result


def get_all_data_html(html):
    re_g = re.compile('="(.+?)"')
    result = re_g.findall(html)
    return result


if __name__ == '__main__':
    get_html_data = get_html_data(html)
    print(get_html_data)

    get_all_data_html = get_all_data_html(html)
    print(get_all_data_html)
    
# >>> 執(zhí)行結(jié)果如下:
# >>> ['display:none;']
# >>> ['s-top-nav', 'display:none;', 's-center-box']

通過獲取前端代碼標簽內(nèi)容的例子,我們可以看出,只要找到字符串的規(guī)律,通過這些規(guī)律去定義正則匹配的規(guī)則就可以拿到想要的信息。

OK,今天的練習就到這里了。正則表達式最最核心最最重要的就是匹配的相關(guān)操作, findall 與 search 函數(shù)就是常用的兩個函數(shù),以及其它函數(shù)的匹配規(guī)律都是完全相同的,只不過它們返回的值會存在著不同,或者說這些函數(shù)的使用場景存在著一定的區(qū)別,但是返回的結(jié)果幾乎都是相同的。

到此這篇關(guān)于Python正則表達式的小練習分享的文章就介紹到這了,更多相關(guān)Python正則表達式練習內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

公安县| 祥云县| 屯门区| 天气| 当涂县| 年辖:市辖区| 深州市| 桦甸市| 额济纳旗| 扬中市| 宝应县| 东港市| 玉树县| 手游| 昌都县| 婺源县| 图片| 古蔺县| 饶平县| 开阳县| 沭阳县| 读书| 高陵县| 汶川县| 麻阳| 丹寨县| 康平县| 井研县| 巴里| 扎囊县| 东乡县| 内江市| 曲周县| 桐庐县| 应城市| 东兰县| 化德县| 上虞市| 桦南县| 大田县| 诏安县|