2016-07-03 14 views
-5

文字列の最初の行に指定された "サブ"文字列が含まれている場合、その文字列とマッチングしたいと思います。これは、oneliner正規表現を使用してPythonで可能ですか?条件付き正規表現Python

string="abcd - testing xxx 
foo bar 
end" 

文字列のファーストラインは、含まれている場合:

"abcd - testing" 

マッチ文字列全体:

"abcd - testing xxx 
foo bar 
end" 

を問題点は、出力は私のコントロールの外にある別のPythonプログラムによって読み取られています。

私だけとしてoneline正規表現を使用してプログラムを供給することができます...

ありがとうございました。この

+4

あなたは正規表現を必要としないことがあります。 'my_string.startswith(「ABCD - テスト」)' –

+1

は何をしようとしなかったし、何の問題、あなたがしようとしたパターンとしていましたか? –

+0

"正規表現"が別のプログラムによって読み込まれていることを意味しますか? "出力"ではありません。 「出力」とは、一致した文字列を参照していることを意味します。 – Resonance

答えて

0

使用:あなたのサブ文字列が最初の行に含まれている場合

string = """abcd - testing xxx 
foo bar 
end""" 

sub = "abcd - testing" 

def match(string, sub): 
    return string if sub in string.splitlines()[0] else '' 

print match(string, sub) 
  • splitlines()がライン
  • [0]
  • にあなたのメインの文字列を分割しますが
  • inはtrueを返します
  • 最初の行を選択します
+0

オンラインの正規表現内で文字列を分割することはできますか? – user3030473

+1

なぜ正規表現を使用する必要がありますか? – Daniel

0

enter image description here

これは動作します。

^.*abcd - testing.*\n(?:.*\n?)+$ 
関連する問題