当前位置: 首页 > 知识库问答 >
问题:

BBCode标记之间的URL不匹配

万俟小林
2023-03-14

正如标题所说,我希望我的模式与字符串中的URL匹配,但BBCode标记之间的模式除外。

到目前为止,我已经创建了一个模式,该模式与[img]标记之间的URL不匹配,但是没有足够的正则表达式技能使其适用于所有标记,比如更高级的once([URL=xxx]yyyy[/URL]等等)。所以要明确的是:[]之间不应该匹配。

下面是我的工作示例,说明[img]标记之间的URL不匹配:

http://regexr.com/v1?38mae(由于编码混乱,可能不得不粘贴下面的模式)

模式:

<代码>(?

我将感谢任何帮助!

共有1个答案

卢景澄
2023-03-14

您可以在模式的开头添加以下内容:

\[[^]]*](*SKIP)(*FAIL)|

此子模式将查找方括号之间的所有内容,使模式失败,并强制不重试子字符串。

模式示例(以~作为分隔符):

$pattern = '~\[[^]]*](*SKIP)(*FAIL)|
             (?<!\[img])
             (?:(?:ht|f)tps?://|www\.)
             [\w-]+
             (?:\.[\w-]+)+
             [\w-.,@?^=%&:/\~+#!]*[\w-@?^=%&/\~+#]~xiu';
 类似资料:
  • 问题内容: 我正在使用一个加密系统,该系统会将数据传递给第三方应用程序。加密用Java完成,解密用PHP完成。尽管进行了几次尝试,但我无法获得PHP应用程序打开的加密字符串。 为了进行测试,我创建了一个PHP脚本,该脚本也对数据进行了加密,因此可以比较Java和PHP加密的字符串。结果匹配到第21个字符,然后有所不同。这就是我所拥有的: 和 显然,因为部分字符串匹配,所以正在正确地执行某些操作,但

  • 我正在尝试从 html 标签中提取字符串 我知道还有其他类似或甚至相同的问题得到了回答,但这些问题的答案似乎对我不起作用 此输出 不 注意,我使用了来自不同答案的其他正则表达式,得到了相同的结果,我也不熟悉正则表达式,所以这可能是一个无意义的问题。

  • 我试图在传单中的标记(从JSON数据生成)之间插入行。我看到了一个示例,但它不能使用JSON数据。我能看到标记,但没有线条出现。 我的JSON数据:

  • 问题内容: 您好,我想在PHP中使用preg_match来解析html文档中以下内容中的“所需文本” 通常,我会使用simple_html_dom进行此类操作,但在这种情况下无法使用(上述元素并未出现在每个所需的div标签中,因此我被迫使用这种方法来准确跟踪何时未出现以及然后从simple_html_dom调整我的数组)。 无论如何,这将解决我的问题。 非常感谢。 问题答案:

  • 嗨,我有一个html文件解析的场景。我正在使用jsoup解析html文件,解析后我想提取头标记(h1、h3、h4)。我用过医生。select()但它将只返回标题标记值,但我的要求是我应该提取h1到h3或h4之间的标记,反之亦然。 所以这里首先搜索html字符串是否包含任何H1,H3,H4。这里我们有h4,所以包括h4,它应该搜索下一个h1或h3,直到h3我们提取字符串并把它放在一个单独的html文

  • 我基于matplotlib中的:热图和pcolor? 我了解了如何在Matplotlib中更改记号标签和轴标签之间的分隔,但这不是我所需要的 如何固定标签的位置,使其与刻度对齐?