-1
Pythonで正規表現をコンパイルしようとしていますが、成功は限られています。私は次のことをしていますPython Regexを使って作業する
import re
pattern = re.compile("[a-zA-Z0-9_])([a-zA-Z0-9_-]*)")
m=pattern.match("gb,&^(@)")
if m: print 1
else: print 2
私は上記の2の出力を期待していますが、代わりにそれを印刷しています。正規表現は、文字列と次のように一致する必要があります。
最初の文字は英数字またはアンダースコアです。その後のすべての文字は、英数字、アンダースコア、またはダッシュにすることができ、最初の文字の後に0個以上の文字を入れることができます。
私はこのことがカンマを見てすぐに失敗すると思っていましたが、そうではありません。
私はここで間違っていますか?
're.match'は、Javaで' matches() 'として完全な文字列の一致を必要としません。最後に '$ 'を追加してください。 Python 3では 're.fullmatch'を使います。 –
これは私の問題を解決したようです。私はこれを正解とマークすることを願っています。ありがとう – Ryan