我目前使用以下正则表达式(在 PHP 中):
preg_match_all('/\s+?[-]{3,}\s(POST|GET|PUT|DELETE)\s([\/A-Za-z\-_{}]*)\s+(.*)\s+[-]{3,}\s+/ism',$text, $m, PREG_SET_ORDER)
基本上,它工作正常,但由于 (.*),它与第一项的内容和第二项的内容都匹配。我尝试了多种方法,但无法将以下字符串识别为两个匹配项而不是一个匹配项。
----
POST /users/{user-id}/relationship
Modify the relationship between the current user and the target user.
*Required scope: relationships*
### Parameters
- access_token: A valid access token.
- action: One of follow/unfollow/block/unblock/approve/deny.
### Example response
```
{
"meta": {
"code": 200
},
"data": {
"outgoing_status": "requested"
}
}
```
----
----
GET /users/{user-id}/relationship
Modify the relationship between the current user and the target user.
*Required scope: relationships*
### Parameters
- access_token: A valid access token.
----
有人知道如何实现这一目标吗?谢谢。
更新:请原谅我不够清楚。我想匹配 Markdown 水平分隔符 (----) 之间的所有内容,以便它们形成两个块,它们都是 API 方法描述。