2017-08-03 41 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é\\)$

相关问题