我有一个正则表达式数组,并且试图通过文本文档循环查找第一个模式,将其指定为数组的键,然后继续查找第二个模式并赋值作为价值。每当我遇到模式1时,我都希望它始终被分配为一个键,并且所有模式2都匹配,直到遇到一个新键为止,该键将被分配给该第一个键作为值。将正则表达式模式指定为数组的键
文本文档结构:
Subject: sometext
Email: [email protected]
source: www.google.com www.stackoverflow.com www.reddit.com
所以我有表情的数组:
$expressions=array(
'email'=>'(\b[a-zA-Z0-9._%+-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b)',
'url'=>'([A-Za-z][A-Za-z0-9+.-]{1,120}:[A-Za-z0-9/](([A-Za-z0-9$_.+!*,;/?:@&~=-])|%[A-Fa-f0-9]{2}){1,333}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*,;/?:@&~=%-]{0,1000}))?)'
);
我想遍历我的文本文档和匹配的电子邮件地址,然后分配为重点,以一个数组然后指定所有跟随的URL作为值,输出到上面的文本将是:
array(
'[email protected]' => array (
0 => 'www.google.com',
1 => 'www.stackoverflow.com',
2 => 'www.reddit.com'
)
你能不能改一下你的问题,可能是显示您所描述的阵列? (即输入以及预期输出) – mvds 2010-07-28 13:03:57
您可以举例吗? – Toto 2010-07-28 13:05:42
好的,表达式在数组中的含义是什么?它总是有2个元素,还是3个或更多? – mvds 2010-07-28 13:22:38