pythonのマッチング
python なぜこうなるのか説明を求める。
import re
s = 'aaa@xxx.com bbb@yyy.net ccc@zzz.org'
print("s=",s)
t = re.match(r'([a-z]+)\@([a-z]+)\.org$', s) #最初にマッチするもの最初にマッチするの終わりやろ?
# <re.Match object; ccc@zzz.org 1LINE見ていないの? sp で終わりとかなら、\sを含む文字列にマッチング出来ないぞ\n?を含むのも
print("t=",t)#orgでもないのに何でマッチするんや1文字列マッチ開始したとこから見とるんか^$いらんやろ
# print したって、プログラム上、変数として使い物に使い物にならないのなぁ。何のためにやるんや
#
# なんか、match ができているのに、なんで、None が返ってくるんやろうか
u=re.match(r'([a-z]+)@([a-z]+)\.com', s)
print("u=",u)
# <re.Match object; span=(0, 11),aaa@xxx.com
v =print(re.match(r'([a-z]+)@([a-z]+)\.com', s)) #これは出来るが表示している文字列は入らない
print("v=",v)
print("print is=",re.match(r'([a-z]+)@([a-z]+)\.com', s))
# <re.Match object; span=(0, 11), match='aaa@xxx.com'>
if t == None or u == None:
print("None")
else:
my_mach_line = t.group(0)
print(my_mach_line)
my_mach =my_mach_line.split(', ')
print("mach is=",my_mach)
PS C:\xampp\htdocs\my_python> c:; cd 'c:\xampp\htdocs\my_python'; & 'c:\Python\python.exe' 'c:\Users\tatty\.vscode\extensions\ms-python.debugpy-2024.0.0-win32-x64\bundled\libs\debugpy\adapter/../..\debugpy\launcher' '56349' '--' 'C:\xampp\htdocs\my_python\py_seiki.py'
s= aaa@xxx.com bbb@yyy.net ccc@zzz.org
t= None
u= <re.Match object; span=(0, 11), match='aaa@xxx.com'>
<re.Match object; span=(0, 11), match='aaa@xxx.com'>
v= None
print is= <re.Match object; span=(0, 11), match='aaa@xxx.com'>
None
PS C:\xampp\htdocs\my_python>
どうにもよくわからない。
t = re.match(r'((([a-z]+)\@([a-z]+))\.org$)', s)
#つまり([0]([1]([2])([3])))いう事やろ?配列に入れてるなら?
0