我有這個正則運算式:
'/gr[aàa]ce[\s]{1,5}au?[\s]{1,5}docteur[\s\S]{1,100}sans[\s\S]{1,100}(?:faire de|recevoir de) vaccin/igm';
哪個不起作用,請參閱以下代碼:
$text = "Grace a docteur markus j ai re?u mon pass vaccinal sans toute fois recevoir de vaccin";
$regex = '/gr[aaà]ce[\s]{1,5}au?[\s]{1,5}docteur[\s\S]{1,100}sans[\s\S]{1,100}(?:faire de|recevoir de) vaccin/im';
if(preg_match_all($regex, $text)){
echo "catch";
}
我使用它撰寫了我的正則運算式并且它作業正常,直到我將正則運算式添加到我的腳本中。 https://regex101.com/r/EmebOT/1
如果我在正則運算式中將 [aàa] 替換為“a”,則正則運算式看起來像這樣,它可以作業:
'/grace[\s]{1,5}au?[\s]{1,5}docteur[\s\S]{1,100}sans[\s\S]{1,100}(?:faire de|recevoir de) vaccin/igm'
uj5u.com熱心網友回復:
我使用u修飾符得到了這個。老實說,沒有決議很多 UTF-8 字符,也不知道這一點。
我有這段代碼在 PHP 7 和 8 中作業:
<?php
$text = "Grace a docteur markus j ai re?u mon pass vaccinal sans toute fois recevoir de vaccin il sont authentiques avec un \"QR Code\" contenant les informations essentielles, ainsi qu'une signature numérique pour assurer l'authenticité du certificat Covid je sui nouveau dans se groupe alors pour ceux qui sont intéressé me laisse un message en privé je vous explique ou alors voici le lien télégramme du docteur markus pas d insulte s il vous plait tes pas intéressé tu ignores ensemble disons non au vaccin forcé : https://t.me/docteur_markus";
$regex1 = "/gr[aàa]ce[\s]{1,5}au?[\s]{1,5}docteur[\s\S]{1,100}sans[\s\S]{1,100}(?:faire de|recevoir de) vaccin/iu";
$result = preg_match_all($regex1, $text, $m);
var_dump([$result, $m]);
u (PCRE_UTF8) 此修飾符打開與 Perl 不兼容的 PCRE 的附加功能。模式和主題字串被視為 UTF-8。無效的主題將導致 preg_* 函式不匹配;無效的模式將觸發 E_WARNING 級別的錯誤。五個和六個八位位元組的 UTF-8 序列被視為無效。
https://www.php.net/manual/en/reference.pcre.pattern.modifiers.php
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/432555.html
