我的字符串为abvd.qweqw.sdfs.a=aqwrwewrwerrew
。我需要解析这个字符串,然后在=
之前和=
之后得到一块。符号.
可以多次出现。那么,请告诉我,我可以使用哪个正则表达式进行解析?谢谢。
答案 0 :(得分:1)
纯粹基于你的例子:
/([a-z.]+)=([a-z]+)/
修改强>
但实际上:
/([a-z_.]+)=(.*)/i
结果在内存组1和2中。代码:
if (preg_match('/^([a-z_.]+)=(.*)/i', $str, $matches)) {
// $matches[1] contains part before =
// $matches[2] contains part after =
}
顺便说一句,我通过锚定它来调整表达式(使用^
)。如果这不起作用,只需将其从表达式中删除即可。
答案 1 :(得分:1)
你可以使用简单的字符串函数。
list($first, $second) = explode('=', 'abvd.qweqw.sdfs.a=aqwrwewrwerrew);
答案 2 :(得分:0)
这是完整的代码。
<?php
if(preg_match('/([a-z.]+)=([a-z]+)/', "abvd.qweqw.sdfs.a=aqwrwewrwerrew", $matches)){
print $matches[1]."\n";
print $matches[2]."\n";
}
?>