PHP 匹配特定字符串

PHP matches a specific string

AWS-HMAC-SHA256 Credential=eyJhbGciOiJIUzI1NiIsIngtc3MiOjEy/20160911/cn/user-service/request,SignedHeaders=host;x-aws-date, Signature=d9ee2d43f2067e4b8857f15fa8fff27820051d95a4ec31e93be866f201e0797a

如何正则匹配Credential、SignedHeaders、Signature?

您可以使用 explode and array_map:

而不是使用正则表达式
$str = "AWS-HMAC-SHA256 Credential=eyJhbGciOiJIUzI1NiIsIngtc3MiOjEy/20160911/cn/user-service/request,SignedHeaders=host;x-aws-date, Signature=d9ee2d43f2067e4b8857f15fa8fff27820051d95a4ec31e93be866f201e0797a";
$res = array_map(function($x){
    return explode('=', $x)[1];
}, explode(',', $str));
print_r($res);

结果:

Array
(
    [0] => eyJhbGciOiJIUzI1NiIsIngtc3MiOjEy/20160911/cn/user-service/request
    [1] => host;x-aws-date
    [2] => d9ee2d43f2067e4b8857f15fa8fff27820051d95a4ec31e93be866f201e0797a
)

Demo