查找文件中同一行上有两个字符串的所有行

时间:2017-03-18 07:59:06

标签: regex

我需要找到一个可以使用以下虚拟输入的正则表达式:

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
  • 之前
  • Charge Tip可能会附加到左侧和右侧的其他数据。
  • -V可以附加到左右的其他数据

我已经尝试了很多链接,例如: Regular expression to find two strings anywhere in input

我无法获得任何解决方案,因为解决方案无法在RegExr站点上运行,我用它来测试正则表达式。

我需要的最终结果是正则表达式在Agent Ransack 2014中工作,因为我需要在Windows XP计算机上搜索日志文件。

2 个答案:

答案 0 :(得分:3)

代理Ransack正则表达式引擎与Perl兼容。所以你可以轻松搜索:

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

Live demo

答案 1 :(得分:0)

尝试以下正则表达式,您可以看到它here

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

如下所示:

Regex101