我正在尝试使用preg_match或任何其他方式生成正则表达式以在文本中查找以下字符串。我的模式是'(S'和'E)'
之间的一切(S02E01) (S12E02) (S10E03) (S01E04) (S07E05)
是否可以提取这些字符串?
标题示例:“即将到来,下周五(S02E01) - 订阅!”
答案 0 :(得分:2)
使用此:
preg_match_all('/\(S\d+E\d+\)/', $string, $matches);
要打印所有比赛,请执行:
foreach ($matches[0] as $val) {
echo $val;
}
现在转到regular-expressions.info了解正则表达式的工作原理。
答案 1 :(得分:1)
是的,可以使用正则表达式。但是,我鼓励在没有正则表达式的情况下进行尝试。 PHP提供了许多处理字符串操作的函数。正则表达式往往比各种str命令表现更差。有人说,有时候开发时间不足以提出正则表达式的替代方案:)。幸运的是,如果你只是在两个字符串之间搜索,那里有很多答案。考虑一下这个问题> Get substring between two strings PHP