In [1]:
import re

In [2]:
m = re.match(r'\w+', 'あいう漢字ABC123')
print(m)


<re.Match object; span=(0, 11), match='あいう漢字ABC123'>

In [3]:
m = re.match('[a-zA-Z0-9_]+', 'あいう漢字ABC123')
print(m)


None

In [4]:
m = re.match(r'\w+', 'あいう漢字ABC123', flags=re.ASCII)
print(m)


None

In [5]:
m = re.match(r'(?a)\w+', 'あいう漢字ABC123')
print(m)


None

In [6]:
p = re.compile(r'\w+', flags=re.ASCII)
print(p)


re.compile('\\w+', re.ASCII)

In [7]:
print(p.match('あいう漢字ABC123'))


None

In [8]:
p = re.compile(r'(?a)\w+')
print(p)


re.compile('(?a)\\w+', re.ASCII)

In [9]:
print(p.match('あいう漢字ABC123'))


None

In [10]:
print(re.ASCII is re.A)


True

In [11]:
m = re.match(r'\W+', 'あいう漢字ABC123')
print(m)


None

In [12]:
m = re.match(r'\W+', 'あいう漢字ABC123', flags=re.ASCII)
print(m)


<re.Match object; span=(0, 11), match='あいう漢字ABC123'>

In [13]:
m = re.match(r'\d+', '123')
print(m)


<re.Match object; span=(0, 3), match='123'>

In [14]:
m = re.match(r'\d+', '123')
print(m)


<re.Match object; span=(0, 3), match='123'>

In [15]:
m = re.match(r'\d+', '123', flags=re.ASCII)
print(m)


<re.Match object; span=(0, 3), match='123'>

In [16]:
m = re.match(r'\d+', '123', flags=re.ASCII)
print(m)


None

In [17]:
m = re.match(r'\s+', ' ')  # 全角スペース
print(m)


<re.Match object; span=(0, 1), match='\u3000'>

In [18]:
m = re.match(r'\s+', ' ', flags=re.ASCII)
print(m)


None

In [19]:
m = re.match('[a-zA-Z]+', 'abcABC')
print(m)


<re.Match object; span=(0, 6), match='abcABC'>

In [20]:
m = re.match('[a-z]+', 'abcABC', flags=re.IGNORECASE)
print(m)


<re.Match object; span=(0, 6), match='abcABC'>

In [21]:
m = re.match('[A-Z]+', 'abcABC', flags=re.IGNORECASE)
print(m)


<re.Match object; span=(0, 6), match='abcABC'>

In [22]:
s = '''aaa-xxx
bbb-yyy
ccc-zzz'''

In [23]:
print(s)


aaa-xxx
bbb-yyy
ccc-zzz

In [24]:
result = re.findall('[a-z]+', s)
print(result)


['aaa', 'xxx', 'bbb', 'yyy', 'ccc', 'zzz']

In [25]:
result = re.findall('^[a-z]+', s)
print(result)


['aaa']

In [26]:
result = re.findall('^[a-z]+', s, flags=re.MULTILINE)
print(result)


['aaa', 'bbb', 'ccc']

In [27]:
result = re.findall('[a-z]+$', s)
print(result)


['zzz']

In [28]:
result = re.findall('[a-z]+$', s, flags=re.MULTILINE)
print(result)


['xxx', 'yyy', 'zzz']

In [29]:
s = '''aaa-xxx
あああ-んんん
bbb-zzz'''

In [30]:
print(s)


aaa-xxx
あああ-んんん
bbb-zzz

In [31]:
result = re.findall(r'^\w+', s, flags=re.M)
print(result)


['aaa', 'あああ', 'bbb']

In [32]:
result = re.findall(r'^\w+', s, flags=re.M | re.A)
print(result)


['aaa', 'bbb']

In [33]:
result = re.findall(r'(?am)^\w+', s)
print(result)


['aaa', 'bbb']