2016-09-23 5 views
1

Pythonでの私の現在の正規表現検索では、' 22 'の行が検索されますが、' line 22 'の行は除外したいと思います。 Regexでこれをどのように表現できますか?私はあなたに'.*(^line) 22 .*$'Regex Pythonで検索: '22行目'でポート22行を除外

import re 

sshRegexString='.* 22 .*$' 
sshRegexExpression=re.compile(sshRegexString) 
+0

最終コードは何ですか?出力は何ですか?何が問題ですか ? – aluriak

+3

'。*(?<!line)22。* $' – revo

+0

@revo正規表現が機能しました!ありがとう – pHorseSpec

答えて

0

22が含まれていますが、line 22は、正規表現の助けなしに実装することができます含まれていない行を見つけるために、現在の要件になります。

これらのテキストがinであるか、not inの文字列がリスト内にあるかどうかを確認してください。ここにはPython demoがあります(リストに行があると仮定していますが、ファイルから1行ずつ読み込んだ行を処理するように調整できます)。

lines = ['Some text 1 line 22 here', 'Some text 2 Text2 22 here', 'Some text 3 Text3 22 here'] 
good = [s for s in lines if ' 22 ' in s and 'line 22 ' not in s] 
print(good) # the first lines[0] is not printed! 
関連する問題