我試圖找到匹配任何字符串的正則表達式!一些搜索後,我發現幾乎所有的答案說,[\s\S]
將匹配任何字符串作爲表示here或.*
如說here空的正則表達式匹配任何字符串
不過,雖然打了一下,用PHP preg_match
我發現一個空的正則表達式是匹配任何字符串!
if(preg_match("//u", "")) echo "empty string matchs\n";
else echo "empty string does not match\n";
if(preg_match("//u", "abc")) echo "abc matchs\n";
else echo "abc does not match\n";
if(preg_match("//u", "\n")) echo "new line matchs\n";
else echo "new line does not match\n";
if(preg_match("//u", "/")) echo "/ matchs\n";
else echo "/ does not match\n";
exit;
這將輸出
empty string matchs
abc matchs
new line matchs
/matchs
現場演示(https://eval.in/845001)
我可以用這個空正則表達式安全搭配什麼嗎?什麼是空的正則表達式?
如果你問我爲什麼會需要一個匹配任何一個正則表達式,這是因爲我使用的是需要一個正則表達式的參數作爲它的字符串驗證功能部位的功能,我想它接受什麼。
匹配沒有字符串的正則表達式是沒有正則表達式。只要執行'if($ string ==「」)或'if(strlen($ string)== 0)' – Ibu
@Ibu謝謝。但是我必須通過任何正則表達式來驗證字符串的函數。 –
您的第一個條件應該是檢查字符串是否爲空,然後進入正則表達式 – Ibu