2016-09-30 71 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

OK。僅供參考 - 然後它不是真正捕捉到你想要的 - 這是一場比賽;)比賽是正則表達式匹配的所有內容(不包括環視),捕捉是捕獲組內的內容。 – ClasG

1

我會使用:

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

遠勝於正則表達式