正则表达式可选组在整个搜索中失败



我被一些明显的东西困住了,我无法正常工作:

有这样的文字:".... blah-blah-blah... Grupper blah-blah-blah Butik ..."。 Grupper 是一个可选的标记 - 可以在文本中省略,Butik - 是强制性的。因此,如果有的话,它应该匹配Grupper并且始终Butik

(Grupper)?[sS]*?(Butik)这样的表达永远不会抓住Grupper,但没有?就可以正常工作(当然,当原始文本中没有"Grupper"时,完全失败(。

我如何让它工作?

如果 Grupper 出现 0 或 1 次,则(Grupper)?匹配它。所以它匹配了一些东西,即使Grupper不是其中的一部分。

如果您的字符串以 Grupper 开头,反向引用(Grupper)将包含它(默认情况下正则表达式是贪婪的(,如果字符串不以 Grupper 开头,则反向引用将为空。

在你的位置上,我会在 2 个不同的正则表达式中捕捉 Butik 和 Grupper。

相关内容

  • 没有找到相关文章

最新更新