2012-12-07 53 views
0

我想扔了很多的變化在正則表達式模式,但我不能確定是否可以使用的東西像串字符這樣開始:這是一個有效的正則表達式模式?

preg_match("#/str1|str2|^/str3#i",$_SERVER['REQUEST_URI']) 

所以下面應該滿足的值:$ _SERVER ['REQUEST_URI']

包含/str1str2或字符串的開頭應爲/str3

+1

[查看本(http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/) –

+0

你的正則表達式似乎做了正確的事情。 –

+0

@JoachimIsaksson我應該把它放在括號裏嗎?比如'preg_match(「#/(str1 | str2 | ^/str3)#i」,$ _ SERVER ['REQUEST_URI'])' - 有什麼區別嗎? – Brett

回答

2

你的正則表達式也許應該是:

preg_match('#(\/str1|str2|^\/str3)/i#', $_SERVER['REQUEST_URI); 

爲了更好地理解文字表達的,檢查Pankit的link

+0

嗯,這不需要'/ str1'和'str2'在字符串的開頭嗎? –

+0

正確,可能誤讀'contains' with'starts'我認爲,編輯了正則表達式。 –

相關問題