Skip to content

Instantly share code, notes, and snippets.

@TomoG29
Created May 31, 2023 06:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TomoG29/454dfe53064dc61fc76443d6b5a2d2ba to your computer and use it in GitHub Desktop.
Save TomoG29/454dfe53064dc61fc76443d6b5a2d2ba to your computer and use it in GitHub Desktop.
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