0
I have a string = "[VIDEO]http://www.youtube.com/watch?v=etye3skwu9w[/Video]"

我正在使用以下正则表达式来匹配 VIDEO 标签

'/\[VIDEO\](.+?)\[\/VIDEO\]/i'

[VIDEO]如果标签中没有空格,它可以正常工作。但是,如果有任何空间[ VIDEO ],,它将无法正常工作。

我怎样才能忽略空格。我的意思是如果标签是这样的[ VIDEO ],我的 REGEX 应该可以工作。

4

2 回答 2

3

\s*在要允许空格的位置添加 a 。\s是空格,*是任意数量的重复(包括零):

'/\[\s*VIDEO\s*\](.+?)\[\s*\/VIDEO\s*\]/i
于 2013-04-14T07:56:55.893 回答
1

\s匹配任何空格。你可以使用这个:

'/\[\s*VIDEO\s*\](.+?)\[\s*\/\s*VIDEO\s*\]/i'

这允许像[ VIDEO ]or之类的空格[/ VIDEO]。或者,只允许空格

'/\[ *VIDEO *\](.+?)\[ *\/ *VIDEO *\]/i'

一个空格

'/\[ ?VIDEO ?\](.+?)\[ ?\/ ?VIDEO ?\]/i'
于 2013-04-14T07:58:46.050 回答