在字符串中搜索以包含括号的特殊正则表达式字符开头/结尾的单词

时间:2017-08-03 15:21:39

标签: php regex

我有一个看起来像这样的php字符串:

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

在我的代码中,很多字符串可能看起来像那样,所以我想检查我的字符串是否以“Toto”开头,并以“(Tété)”结尾(括号和“é”)

“Toto”可能会随着时间而改变,这就是我使用变量$myVar的原因。

所以要检查所有这些,我写了这个正则表达式:

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

但它根本不起作用,输出始终是false

拜托,我错了?

1 个答案:

答案 0 :(得分:1)

https://regex101.com/是试用正则表达式的好资源。您可以针对自定义输入测试正则表达式,并提供每个字符所做内容的描述性说明。

特别是,正则表达式^Toto.*\(Tété\)$会检查字符串开头的Toto,任何非换行符和最后的(Tété)

如果您想确保将Toto(Tété)与空格后面的字符分开,可以使用^Toto (.* )?\(Tété\)$

由于您在字符串中添加反斜杠,因此需要额外的反斜杠来转义反斜杠。因此,您希望使用^Toto.*\\(Tété\\)$^Toto (.* )?\\(Tété\\)$