Regex &引用;或;在正则表达式中,如何找到一个值或另一个值

Regex &引用;或;在正则表达式中,如何找到一个值或另一个值,regex,Regex,如何使用正则表达式搜索一个或另一个值: 例如: [video= SOMETHING NOT IMPORTANT] [image= SOMETHING NOT IMPORTANT] 因此,请查看视频或图像: /\[video|image=([^\]]+)\]/i 如何做到这一点?我认为您需要将视频|图像包装在其自己的子模式中: /\[(?:video|image)=([^\]]+)\]/i ?:将其指定为一个非捕获组,这样您对([^\]]+)的捕获/反向引用就不会受到影响。只需对多个正则表达

如何使用正则表达式搜索一个或另一个值:

例如:

[video= SOMETHING NOT IMPORTANT]
[image= SOMETHING NOT IMPORTANT]
因此,请查看视频或图像:

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

如何做到这一点?

我认为您需要将
视频|图像
包装在其自己的子模式中:

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

?:
将其指定为一个非捕获组,这样您对
([^\]]+)
的捕获/反向引用就不会受到影响。

只需对多个正则表达式进行测试,而不是试图将这两个正则表达式组合成一个模式,通常会更容易。@Ether对此表示感谢。花了一年的时间试图创建所有正则表达式的母表达式,结果发现,如果只匹配多个单独的正则表达式,事情会变得更干净。