目前,我有这样的:匹配高达X正则表达式或y的正则表达式
^(.+)\(\w+\)|^(.+)\s\(\d{3}\:\d{3}\s\-\s\d{3}\:\d{3}\)
#1只匹配Foo的
#2 富具有这是正确的
#3不匹配FOO但它是在第三数组项[2]:
3rd array output:
(
[0] => Foo (100:200 - 300:400)
[1] =>
[2] => Foo
)
大胆的是什么,我试图匹配:
Foo的(match11)这个(100:200 - 300:400)结束#1
美孚拥有(not_matched)(100: 200 - 300:400)的端#2
美孚(100:200 - 300:400)的端#3
注:即时通讯不试图匹配的#1,#2,# 3在每行的末尾,这只是供参考。
如果找到“(100:200-300:400)”,那么在它前面得到任何文本,elseif“(not_matched)(100:200-300:400)”找到,然后在前面得到任何文本(100:200-300:400)“前面的文字”
elseif部分“(not_matched)(100:200-300:400)”可以被识别,因为它只有1个白色not_matched的2个支架和之间的空间(100:200 - 300:400)
编辑:
这就是我想出了哪些似乎工作,虽然它需要在PHP中的一些解决方法是有用的。
(.+)\s\(\w+\)\s\(|(.+)\s\(\d{3}\:\d{3}\s\-\s\d{3}\:\d{3}\)
工作例如:http://www.rubular.com/r/NSpGcnyg0p
出于某种原因,它似乎并没有拯救我的例子,所以你必须复制/粘贴
但正则表达式没有。直接匹配它们,这就是为什么我必须删除php中的空数组元素,以便在[1]元素中获得结果。
任何人都可以看到我在我的正则表达错误吗?
请让你的问题更清晰...... – shybovycha 2011-01-30 08:40:33
呀比较遗憾的是,有一点困惑,我试图要做,认为我已经清理了。 – Mint 2011-01-30 08:55:01