0

正規表現は初めてですが、文字列を調べてパターンが存在するかどうかを確認します。

次のPythonコードを使用してみました。

prog=re.compile('555.555.555')
m=prog.match(somestring)
if m: print somestring

任意の数で区切られた5の3つのグループを見つけようとしています。しかし、このコードは私が探しているものを返しません。

助言がありますか?

編集:

より基本的なバージョンをテストするためのコードを次に示します。

i,found=0,0
while found==0:
    istr=str(i)
    prog=re.compile(r'1\d2\d3')
    m=prog.search(istr)
    if m:
        print i
        found=1
        break
    i=i+1

これにより、10203ではなく1312が返されます

4

1 に答える 1

5

正規表現は(一種の)OKですが、間違って使用しています。あなたが必要です

m = prog.search(somestring)

または、正規表現は、文字列の先頭にある場合にのみ一致を検索します

555また、 sの各グループ間で実際に1桁のみを許可する場合は、次を使用します。

prog = re.compile(r'555\d555\d555')
于 2012-07-16T14:06:24.953 に答える