我有一个看起来像这样的php字符串:
$str = Toto| Tata Titi (Tété)
在我的代码中,很多字符串可能看起来像那样,所以我想检查我的字符串是否以“Toto”开头,并以“(Tété)”结尾(括号和“é”)
“Toto”可能会随着时间而改变,这就是我使用变量$myVar
的原因。
所以要检查所有这些,我写了这个正则表达式:
$match = preg_match('/\^ '. $myVar.'(.*?)\\\\\(Tété\\)$/', $str)
但它根本不起作用,输出始终是false
。
拜托,我错了?
答案 0 :(得分:1)
https://regex101.com/是试用正则表达式的好资源。您可以针对自定义输入测试正则表达式,并提供每个字符所做内容的描述性说明。
特别是,正则表达式^Toto.*\(Tété\)$
会检查字符串开头的Toto
,任何非换行符和最后的(Tété)
。
如果您想确保将Toto
和(Tété)
与空格后面的字符分开,可以使用^Toto (.* )?\(Tété\)$
。
由于您在字符串中添加反斜杠,因此需要额外的反斜杠来转义反斜杠。因此,您希望使用^Toto.*\\(Tété\\)$
或^Toto (.* )?\\(Tété\\)$
。