2016-05-13 63 views
0

我想知道是否有可能做出一个好的正则表达式来从这样的一些文本中提取内容。正则表达式测验

2 years ago -> 6 months ago 

具有两个元件和2 years ago通过6 months ago两个相邻字符->分离。

这是很容易如果隔膜是单个字符(例如,1 year = 12 months容易从由正则表达式提取([^=]+)=([^=]+)),但我不知道的是,隔板的长度大于1

这样的情况下
+3

为什么不用' - >'分割?没有正则表达式是必要的。 –

+0

谢谢你的建议! –

+1

是啊,比['\ b(?!\ W)([^ - ] *(?: - (?!>)[^ - ] *)*) - >([^ - ] *(? : - (?!>)[^ - ] *)*)\ b'](https://regex101.com/r/yN0iC5/1) –

回答

2

如果我明白你很好,你可以使用:

(.*)->(.*) 

Working demo

无论如何,Wiktor Stribzew指出这个评论...你可能只想分裂->

+0

谢谢 它和'2年前 - > 6个月前'很好地工作,但在' - >'出现不止一次的情况下,我希望正则表达式不匹配它。例如,'1 - > 2 - > 3'应该被认为是不匹配的。 –

+0

>你可能只想分割 - > 这可能是真的......我正在写一个简单的解析器程序,它可以很容易,如果一切都可以写成正则表达式和匹配时的操作。 –