Created
May 31, 2023 06:33
-
-
Save TomoG29/454dfe53064dc61fc76443d6b5a2d2ba to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import re | |
text = '111-222-[333]-444-[5555]' | |
#====================================================== | |
#====================== 1 ============================= | |
#====================================================== | |
#[]内に数字が3つある部分を抽出(エラー処理入り) | |
pattern1 = re.compile(r'\[(\d{3})\]') | |
result1 = pattern1.search(text) | |
if result1 != None: | |
print(result1.group(0)) | |
print(result1.group(1)) | |
else: | |
print("None") | |
#出力結果:[333] | |
# 333 | |
#====================================================== | |
#====================== 2 ============================= | |
#====================================================== | |
#[]内に数字がいくつかある部分を抽出(最初に確認されたもののみ抽出) | |
pattern2 = re.compile(r'\[(\d+)\]') | |
result2 = pattern2.search(text) | |
print(result2.group(0)) | |
#出力結果:[333] | |
#====================================================== | |
#====================== 3 ============================= | |
#====================================================== | |
#[]内に数字がいくつかある部分を全て抽出 | |
pattern3 = re.compile(r'\[(\d+)\]') | |
result3 = pattern3.findall(text) | |
for result in result3: | |
print(result) | |
#出力結果:333 | |
# 5555 | |
#====================================================== | |
#====================== 4 ============================= | |
#====================================================== | |
#【数字-[数字]】の部分を抽出(最初に確認されたもののみ抽出) | |
pattern4 = re.compile(r'(\d+)-(\[\d+\])') | |
result4 = pattern4.search(text) | |
print(result4.group(0)) | |
print(result4.group(1)) | |
print(result4.group(2)) | |
#出力結果:222-[333] | |
# 222 | |
# [333] | |
#====================================================== | |
#====================== 5 ============================= | |
#====================================================== | |
#【数字-[数字]】の部分を抽出(最初に確認されたもののみ抽出) | |
#後半の【()】の位置を変更 | |
pattern5 = re.compile(r'(\d+)-\[(\d+)\]') | |
result5 = pattern5.search(text) | |
print(result5.group(0)) | |
print(result5.group(1)) | |
print(result5.group(2)) | |
#出力結果:222-[333] | |
# 222 | |
# 333 | |
#====================================================== | |
#====================== 6 ============================= | |
#====================================================== | |
#【3つの数字-[4つの数字]】の部分を抽出(最初に確認されたもののみ抽出) | |
pattern6 = re.compile(r'(\d{3})-\[(\d{4})\]') | |
result6 = pattern6.search(text) | |
print(result6.group(0)) | |
print(result6.group(1)) | |
print(result6.group(2)) | |
#出力結果:444-[5555] | |
# 444 | |
# 5555 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment