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>