2017-08-03 42 views
0

我有一個PHP字符串,它看起來像這個特殊的正則表達式字符結尾:搜索詞的字符串開始/含括號

$str = Toto| Tata Titi (Tété) 

在我的代碼,很多字符串可能看起來像,所以我想要檢查我的字符串是否以「Toto」開頭,結尾是「(Tété)」(帶圓括號和「é」)。

「Toto」可能隨時間而改變,這就是爲什麼我使用變量$myVar

因此,要檢查所有的,我寫這個正則表達式:

$match = preg_match('/\^ '. $myVar.'(.*?)\\\\\(Tété\\)$/', $str) 

不過,這並不在所有的工作,輸出爲false所有的時間。

請問我在哪裏錯了?

+2

'\ ^'應該是'^'。你也有*方式*太多'''''''' –

+1

https://regex101.com/ – hardworker

回答

1

https://regex101.com/是用於試驗正則表達式的好資源。你可以根據自定義輸入來測試你的正則表達式,並給出了每個角色所做的描述性解釋。

特別是,正則表達式^Toto.*\(Tété\)$在字符串開頭檢查Toto,結束時檢查任何非換行符和(Tété)

如果您想確保Toto(Tété)與後面的字符分開,請按空格處理,您可以使用^Toto (.*)?\(Tété\)$

由於您將反斜槓放入字符串中,因此需要額外的反斜槓以避免反斜槓。所以你想使用^Toto.*\\(Tété\\)$^Toto (.*)?\\(Tété\\)$

相關問題