2017-03-18 49 views
1

我需要找到一個正則表達式將與以下虛擬輸入工作:查找一個文件,該文件對同一行的兩個字符串的所有行

Lorem ipsum dolor sit -V amet, consectetuer adipiscing elit. 
Aenean commodo ligula Charge Tip eget dolor. Aenean massa. 
Cum sociis natoque penatibus et magnis dis parturient montes. 
Nascetur ridiculus Charge Tip mus. Donec quam felis,-Vultricies nec. 
Pellentesque eu, pretium quis, sem. Nulla consequat massa. 
Quis enim. DonecCharge Tippede justo, fringilla vel, aliquet nec.-V 
Vulputate eget, arcu. In enim justo, rhoncus ut. 

,併產生以下結果:

Charge Tip -V 
Charge Tip -V 

一些注意事項:

  • 充電提示總是-V
  • 前充電提示可能會附加到左側和右側的其他數據。
  • -V可以連接到其他數據上左右

我想在這裏已經有很多環節,比如: Regular expression to find two strings anywhere in input

我無法得到任何解決方案,解決方案合作無法在我用來測試正則表達式的RegExr網站上工作。

我需要的最終結果是正則表達式在Agent Ransack 2014中工作,因爲我需要在Windows XP機器上搜索日誌文件。

+0

這是你想要什麼https://regex101.com/r/OjdUd2/1?匹配在捕獲組1和2中。 – abhishekkannojia

+0

使用'(?-s)電荷提示(?=。* - V)' – revo

回答

3

代理洗劫正則表達式引擎是Perl兼容。所以,你可以輕鬆地搜索:

(?-s)Charge Tip(?=.*-V)|(?!\A)\G.*\K-V 

Live demo

+0

謝謝。如果可能的話,請稍微修改它以突出顯示-V,因爲有很多帶有電荷提示的線沒有-V,並且您的解決方案看起來像電荷提示。 – wickyd

+0

請檢查更新。 – revo

+0

不客氣。如果它對你有幫助,你也可以考慮對這個答案進行投票。 – revo

0

試試下面的正則表達式,你可以看到它住here

^[\w \,\.]*(Charge Tip)[\w \,\.]*(\-V)[\w \,\.]*$ 

正如在這裏看到:

Regex101

+0

不幸的是,這不會給regex101或regexr上的任何匹配。 – wickyd

+0

@wickyd你能解釋一下它不匹配嗎?看看我的編輯,看看我在Regex101上看到了什麼。 – JosephGarrone

+0

我不知道我要去哪裏,但我看到這個https://snag.gy/roi4vh.jpg – wickyd

相關問題