如何使用reg exp在点之前和之后提取(字母+数字+下划线)字符串

时间:2014-01-10 03:09:35

标签: php regex

我正在寻找一种快速的方法,使用PHP中的reg exp来提取点之前和之后的内容。我可能会使用爆炸但需要很长时间的处理。

示例字符串:

$line = 'var init=new class.init(object.color, object.arrayElements);';

我需要获取并替换:class,init,object,color,object,arrayElements

我正在尝试下面的表达式,它在垂直点(:)之前得到单词但是在单点的情况下它不起作用!

$result = preg_match_all('/[a-z0-9_]+(?=\s*.)/i', $line, $output);

非常感谢您的提示 - 抱歉,我没有通过搜索找到任何答案:(

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

preg_match_all('/(\w+)\.(\w+)/', $line, $out);

会为您提供与期间相关联的单词字符,其中\wshorthand[A-Za-z0-9_]。对于不区分大小写的Modifier i不是必需的,因为\w已包含

echo "<pre>";

// [0] full matches
print_r($out[0]);

// [1] \w+ before period
print_r($out[1]);

// [2] \w+ after period
print_r($out[2]);

echo "</pre>";