1
我試圖提取給定字符串和第一個非字母數字字符之間的文本。下面的代碼工作,但它使用標記而不是\ W。preg_match:字符串和第一個非字母數字字符
$my_string = 'Auth code: 02452A</div>';
preg_match("~Auth code:(.*)</div>~",$my_string, $m);
print_r($m);
// shouldn't this work, too?
preg_match("~Auth code:(.*)\W~",$my_string, $m);
不您指明@Wiktor的副本。你可以添加g標誌:'preg_match(「〜Auth code:(。*)\ W〜g」,$ my_string,$ m);':參見https://stackoverflow.com/questions/12993629/g-flag-in-regular-expressions –
@PierreGranger:好的,可能不是一個騙局。不過,它是PHP而不是JS。 'g'修飾符不被支持,爲了在PHP中獲得多個匹配,你需要使用'preg_match_all'。我認爲'preg_match(「〜Auth code:\ s *(。*?)\ W〜」,$ my_string,$ m);'會工作,但''〜驗證碼:\ s * \ K \ w +〜「 '好多了。請參閱[** IDEONE演示**](http://ideone.com/jVqRS5)。 –
@PierreGranger好吧,preg_match_all全球 – Banditvibe