我尝试了很多事情,但我坚持我的正则表达式,每当满足条件连续2次。在这种情况下,它只将其视为一种表达而不是2.正则表达式PCRE:验证字符串匹配的第一组字符串,而不是最后一个
\[ame\=[^\.]+(.+)youtube\.(.+)v\=([^\]\&\"]+)[\]\'\"\&](.+)\[\/ame\]
例如,
[ame =“http://www.youtube.com/watch?v=brfr5CD2qqY”] [B] [COLOR = yellow] http://www.youtube.com/watch?v=brfrx5D2qqY [/ color] [/ B] [/ color] [/ U] [B] [COLOR = yellow]或[/ COLOR] [/ B] [B] [COLOR = yellow] B [/ COLOR] [/ B] ] [ame =“http://www.youtube.com/watch?v=M9ak3rKIBAU”] [B] [COLOR = yellow] http://www.youtube.com/watch?v=M9a3arKIBAU [/ COLOR] [/ B] [/ B] [B] [COLOR = yellow] or [/ COLOR] [/ B] [B] [COLOR = yellow] C [/ COLOR] [/ B] [ame =“http: //www.youtube.com/watch?v=7vh--3pyq5U"][COLOR=yellow]http://www.youtube.com/watch?v=7vh--3pyq5U[/COLOR][/ame]
In t帽子的情况下,这个正则表达式将不会匹配所有3个选项,它将它作为一个整体。
任何想法如何使一个表达,会说匹配第一个"[/ame]"
?
欢迎来到SO!总是尽量简化你的例子,使它们小而易于理解。还要让它更清楚你得到的和你实际得到的。在这种情况下,如果你把每个'+'非贪婪的都当成'+?'它不能解决你的问题吗? –