2016-09-30 6 views
0

内の特定の単語の前にすべてのものをキャプチャ:レッグ経験こんにちは、私はワード接触 例:前にすべてのものをキャプチャしたいVBA

15 Lecky Road 
Ballinderyy 
Upper Lisburn 
BT28 2QA 
Contact: Anna Murphy 
Telephone: 02892 610634 
Fax: 02892 610635 

これは私の正規表現です:

(.|\n)*Contact$ 

おかげ

+1

あなたが接触 'で文字列を分割することができるよりもはるかに高速:'と最初のアイテムをつかみます。 –

答えて

0

あなたが本当に正規表現でそれをしたい場合は、これはあなたのためにそれを行う必要があります:

^([\s\S]+)\s*Contact 

すべてを、改行を含めてまで、最後にという語句が現れます。Contactです。そこに複数のContactのであり、あなただけの最初までをキャプチャする場合は、非貪欲するREを変更:

^([\s\S]+?)\s*Contact 

See it here at regex101を。

+0

ありがとうございます。連絡先も除外する必要があったので、あなたの数式を '^([\ s \ S] *)(?= Contact)' –

+0

に変更しました。 FYI - それは実際にあなたが望むキャプチャではありません - それはマッチです;)マッチは正規表現がマッチする(見回しは含まれません)、キャプチャのグループをキャプチャしたものです。 – ClasG

1

は、私が使用したい:

answer=split(s,"Contact:")(0) 

正規表現