我需要在PHP中创建一个正则表达式,它将在一段文本中标识以下标记:
[video:1]
[video:2]
我正在使用的代码是
preg_match("/\[video:[12]{1}\]/", $text, $matches);
认为我可以在'[video:'然后']'后面有一个1或2的字符。我遇到的问题是,如果文本中有两个令牌,它将无法识别第二个令牌。如果它是第一个,它将识别一个,如果两个都在文本中,则识别第二个。
如何在文本部分中识别这两个令牌?
感谢。
答案 0 :(得分:4)
您需要使用preg_match_all()
进行全局搜索和捕获。
当您需要匹配文字字符时,还要确保正确转义正则表达式语法。
/\[video:[12]\]/
注意:我也删除了量词,因为您只是匹配一个1
或2
。