2011-05-03 55 views
8

你会如何搜索一个值或其他使用正则表达式:“或”正则表达式,如何找到一个值或其他

例如:

[video= SOMETHING NOT IMPORTANT] 
[image= SOMETHING NOT IMPORTANT] 

因此,要么寻找视频或图像:

/\[video|image=([^\]]+)\]/i 

这将如何完成?

+3

对多个正则表达式进行测试通常比较容易,而不是试图将两者合并成一个模式。 – Ether 2011-05-03 20:22:46

+1

@其他阿门。花了一年的时间尝试创建所有正则表达式的母亲,只有意识到如果你在多个单独的正则表达式上匹配,事情会变得更加清晰。 – Contango 2012-10-26 15:11:58

回答

8

我相信你需要在它自己的子模式来包装video|image

/\[(?:video|image)=([^\]]+)\]/i 

?:其指定的非捕获组,以便您捕捉/反向引用([^\]]+)是不变。

相关问题