2016-05-11 6 views
1

私はログからフレーズのリストを持っており、次の正規表現を使用して名前を検証したいと考えています。 phraseは有効なものですが、まだ失敗しています。誰が私にこの問題が何かを教えてもらえますか?Pythonの正規表現の単語、IPとポートの組み合わせが一致する

ありがとうございます!

phrase = "ServerName.192.168.12.12.52915" 
regex = re.compile("\bServerName\.\^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,5}$") 

res = regex.match(phrase) 
if test: 
    print "pass" 
else: 
    print "fail" 
+0

入力にはキャレットはなく、パターンには「\ ^」があります。 [こちら](https://regex101.com/r/kQ7lW1/2)をご覧ください。あなたはパターンの始めに '\ b'を必要としません。 –

+0

ありがとうございます。欠場するのは簡単なことでした。 –

答えて

1

入力には^はありませんが、正規表現パターンで定義します。それを除く。 また、文字列の先頭に検索を固定するre.matchを使用しているため、最初に\bは必要ありません。安全のために生の文字列リテラルを使用してください。

r"ServerName\.\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,5}$" 

regex demoを参照してください。

+1

ありがとうございます。正規表現のデモは、パターンを作成するときに本当に便利です。 –

関連する問題