Regex 替换替代方案的PHP正则表达式

Regex 替换替代方案的PHP正则表达式,regex,Regex,我有一个需求,我正试图找到一个正则表达式模式来替换代码。我知道我可以得到正常的正则表达式来查找和替换文本,但要求是交替查找和替换实例 比如说, {code} UPDATE tenants SET end_user_uuid = '32392464c8a19a15dd8dc982ae3d574b' WHERE end_user_uuid = '9e194bfeace6c2d17cc71cc15e84f93a' AND instance_id = '265358' AND domain = 'aut

我有一个需求,我正试图找到一个正则表达式模式来替换代码。我知道我可以得到正常的正则表达式来查找和替换文本,但要求是交替查找和替换实例

比如说,

{code}
UPDATE tenants SET end_user_uuid = '32392464c8a19a15dd8dc982ae3d574b' WHERE end_user_uuid = '9e194bfeace6c2d17cc71cc15e84f93a' AND instance_id = '265358' AND domain = 'automobieljansen';
{code}

Rollback: 

{code}
UPDATE tenants SET end_user_uuid = '9e194bfeace6c2d17cc71cc15e84f93a' WHERE end_user_uuid = '32392464c8a19a15dd8dc982ae3d574b' AND instance_id = '265358' AND domain = 'automobieljansen';
{code}
Find:    \{code\}(.*?)\{code\}
Replace: <pre>$1</pre>
这是原文。我需要将
{code}
的第一个实例替换为

<pre>
UPDATE tenants SET end_user_uuid = '32392464c8a19a15dd8dc982ae3d574b' WHERE end_user_uuid = '9e194bfeace6c2d17cc71cc15e84f93a' AND instance_id = '265358' AND domain = 'automobieljansen';
</pre>

Rollback: 

<pre>
UPDATE tenants SET end_user_uuid = '9e194bfeace6c2d17cc71cc15e84f93a' WHERE end_user_uuid = '32392464c8a19a15dd8dc982ae3d574b' AND instance_id = '265358' AND domain = 'automobieljansen';
</pre>
预期结果


更新租户集end_-user_-uuid='32392464C8A19A115DD8DC982AE3D574B',其中end_-uuid='9e194bfeace6c2d17cc71cc15e84f93a'和instance_-id='265358',domain='automobieljansen';
回降:
更新租户集end_-user_-uuid='9e194bfeac6c2d17cc71cc15e84f93a',其中end_-uuid='32392464c8a19a15dd8dc982ae3d574b',instance_-id='265358',domain='automobieljansen';

有没有关于如何轻松做到这一点的帮助

在正则表达式模式下,尝试以下查找和替换操作:

<pre>
UPDATE tenants SET end_user_uuid = '32392464c8a19a15dd8dc982ae3d574b' WHERE end_user_uuid = '9e194bfeace6c2d17cc71cc15e84f93a' AND instance_id = '265358' AND domain = 'automobieljansen';
</pre>

Rollback: 

<pre>
UPDATE tenants SET end_user_uuid = '9e194bfeace6c2d17cc71cc15e84f93a' WHERE end_user_uuid = '32392464c8a19a15dd8dc982ae3d574b' AND instance_id = '265358' AND domain = 'automobieljansen';
</pre>

在PHP中-搜索开始和结束
{code}
并捕获它们之间的文本,在
之间输出,$text);
输出:


更新租户集end_-user_-uuid='32392464C8A19A115DD8DC982AE3D574B',其中end_-uuid='9e194bfeace6c2d17cc71cc15e84f93a'和instance_-id='265358',domain='automobieljansen';
回降:
更新租户集end_-user_-uuid='9e194bfeac6c2d17cc71cc15e84f93a',其中end_-uuid='32392464c8a19a15dd8dc982ae3d574b',instance_-id='265358',domain='automobieljansen';
echo preg_replace('/{code}(.*?){code}/s', '<pre>$1</pre>', $text);
<pre>
UPDATE tenants SET end_user_uuid = '32392464c8a19a15dd8dc982ae3d574b' WHERE end_user_uuid = '9e194bfeace6c2d17cc71cc15e84f93a' AND instance_id = '265358' AND domain = 'automobieljansen';
</pre>

Rollback: 

<pre>
UPDATE tenants SET end_user_uuid = '9e194bfeace6c2d17cc71cc15e84f93a' WHERE end_user_uuid = '32392464c8a19a15dd8dc982ae3d574b' AND instance_id = '265358' AND domain = 'automobieljansen';
</pre>