Python 2.7 を使用しています。
単語を合わせながら*
との違いを知りたいです。.*
以下はpythonのコードです
exp = r'.*c' #here is the expression
line = '''abc dfdfdc dfdfeoriec''' #the words I need to match
re.findall(exp,line) #python expression
上記のコードからの出力は次のとおりです。
['abc dfdfdc dfdfeoriec']
値を次のように変更exp
すると:
exp = r'*c'
...その後、実行時に次のエラーが発生します。
Traceback (most recent call last): File "<stdin>", line 1, in
<module> File "C:\Program
Files\Enthought\Canopy32\App\appdata\canopy-1.0.0.1160.win-x86\lib\re.py",
line 177, in findall
return _compile(pattern, flags).findall(string) File "C:\Program Files\Enthought\Canopy32\App\appdata\canopy-1.0.0.1160.win-x86\lib\re.py",
line 242, in _compile
raise error, v # invalid expression error: nothing to repeat
ここに別のコードがあります
exp = r'c.*'
line1='''cdlfjd ceee cll'''
re.findall(exp,line1)
上記のコードからの出力は
['cdlfjd ceee cll']
値を次のように変更するexp
と:
exp = r'c*'
そして実行すると、次の出力が得られます。
['c', '', '', '', '', '', '', 'c', '', '', '', '', 'c', '', '', '']
この動作を説明してください。