:Pythonの動作と、カラットとドルのPerl正規表現の動作は異なりますか? Pythonで
>>> import re
>>> s = u"'ve"
>>> re.match(u"^[\'][a-z]", s)
<_sre.SRE_Match object at 0x1109ee030>
だから、それは単一引用符の後に長さサブストリングが> 1
であってもマッチする:文字列've
考える
が、私はカラットで文字列の先頭をキャッチすることができます
しかし、ドルのために(文字列の末尾にマッチする):から、Perlで
>>> import re
>>> s = u"'ve"
>>> re.match(u"[a-z]$", s)
>>>
を
文字列の末尾を合わせることができるように思える:
$s =~ /[\p{IsAlnum}]$/
が$s =~ /[\p{IsAlnum}]$/
re.match(u"[a-z]$", s)
と同じですか?
なぜカラットとドルの動作が異なるのですか? PythonとPerlでは違いますか?
Pythonでは_caret_です。ダイヤモンド取引では_カラット_です。 – DyZ
@DYZ、lolzニンジン。 – alvas
'^ [\ '] [a-z]'は '^' [a-z]'と '[\ p {IsAlnum}] $'がよりよく書かれています。 – ThisSuitIsBlackNot