python3 reModule_search.py

"""
模塊:python3 reModule_search.py
功能:python3 正則表達式。
參考:https://www.runoob.com/python3/python3-reg-expressions.html
https://www.runoob.com/regexp/regexp-tutorial.html
知識點:
1.re.search(pattern, string, flags=0) -> matchObj / None.
    掃描整個字符串並返回第一個成功的匹配。
    匹配成功re.search方法返回一個匹配的對象,否則返回None。
    matchObj.group(num=0)
        匹配的整個表達式的字符串,group() 可以一次輸入多個組號,
        在這種情況下它將返回一個包含那些組所對應值的元組。
    matchObj.groups()
        返回一個包含所有小組字符串的元組,從 1 到 所含的小組號。
"""
import re

# 1.
print(re.search('www', 'www.runoob.com').span())  # 在起始位置匹配
print(re.search('com', 'www.runoob.com').span())  # 不在起始位置匹配
# (0, 3)
# (11, 14)

# 2.分組。
print("\n2.")
line = "Cats are smarter than dogs."
searchObj = re.search(r'(.*) are (.*?) .*', line, re.M | re.I)
print("searchObj:", searchObj)
# searchObj: <_sre.SRE_Match object; span=(0, 27), match='Cats are smarter than dogs.'>
if searchObj:
    print("searchObj.group() : ", searchObj.group())
    print("searchObj.group(1) : ", searchObj.group(1))
    print("searchObj.group(2) : ", searchObj.group(2))
else:
    print("Nothing found!!")

# searchObj.group() :  Cats are smarter than dogs.
# searchObj.group(1) :  Cats
# searchObj.group(2) :  smarter



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章