大家好我们试图将我的正则表达式排序为bbcodes。
我现在有这个网址:
"/\[url\=\'(.+?)\'\](.+?)\[\/url\]/is",
这只会让网址已经包含在''中,我怎样才能检查网址是否包含单引号?
答案 0 :(得分:1)
您可以使用替换模式,即使用竖线(|)的构造。
"/\[url\=(\'(.+?)\'|([^'].+?))\](.+?)\[\/url\]/is",
答案 1 :(得分:1)
您可以使用此正则表达式:
\[url=(?:'([^']+)'|"([^"]+)")\](.+?)\[\/url\]
它接受单引号,双引号和没有引号分隔的url值。缺点是您必须检查多个捕获组以获取URL属性值。
以下是捕获组:
如果您不允许在网址标记之间显示方括号,则可以使用以下正则表达式。在这种情况下,它会更快地找到匹配。
\[url=(?:'([^']+)'|"([^"]+)")\]([^\[]+)\[\/url\]