Php 用于解析的正则表达式;abc.q=dfd";串

Php 用于解析的正则表达式;abc.q=dfd";串,php,Php,我的字符串为abvd.qweqw.sdfs.a=aqwrwewrew。我需要解析这个字符串并在=之前和=之后获取片段。符号可能出现多次。那么,请告诉我,我可以使用哪个正则表达式进行解析?多谢各位 纯粹基于您的示例: /([a-z.]+)=([a-z]+)/ 编辑 但实际上: /([a-z_.]+)=(.*)/i 结果在记忆组1和2中。代码: if (preg_match('/^([a-z_.]+)=(.*)/i', $str, $matches)) { // $matches[1]

我的字符串为abvd.qweqw.sdfs.a=aqwrwewrew。我需要解析这个字符串并在
=
之前和
=
之后获取片段。符号
可能出现多次。那么,请告诉我,我可以使用哪个正则表达式进行解析?多谢各位

纯粹基于您的示例:

/([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 =
}

顺便说一句,我通过锚定表达式(使用
^
)对其进行了调整。如果不起作用,只需将其从表达式中删除。

您可以使用简单的字符串函数

list($first, $second) = explode('=', 'abvd.qweqw.sdfs.a=aqwrwewrwerrew);
这是完整的代码

<?php
   if(preg_match('/([a-z.]+)=([a-z]+)/', "abvd.qweqw.sdfs.a=aqwrwewrwerrew", $matches)){
      print $matches[1]."\n";
      print $matches[2]."\n";
   }
?>


请给我完整的PHP结构。谢谢。最后一个问题-如果我给它“112321312”字符串,这个表达式返回什么?@user1445877当你有这个字符串,
preg_match
将返回
false
,并且
If
条件中的代码将不会执行。哦,对不起,你能修改before=只能使用a-z、a-z和“z”的表达式吗,和after=可以使用任何符号?@user1445877定义“任何符号”。。。字符串结尾之前有符号吗?@user1445877这太糟糕了,因为正则表达式也需要
=
作为分隔符。如果需要代码,请输入代码;如果您要的是表达式,很可能会得到:)