我遇到了一些我无法工作的明显事物:
有一个文字,如:“.... blah-blah-blah... Grupper blah-blah-blah Butik ...
”。
Grupper
是一个可选标记 - 可以在文本中省略,而Butik是必需的。因此,如果有Grupper
且始终为Butik
,则应匹配(Grupper)?[\s\S]*?(Butik)
。
像Grupper
这样的表达式从未捕获{{1}},但没有?工作正常(当然,当原始文本中没有'Grupper'时,完全失败)。
如何让它发挥作用?
答案 0 :(得分:0)
(Grupper)?
匹配Grupper,如果它出现 0或1 次。所以它匹配的东西,即使Grupper不是它的一部分。
如果您的字符串以Grupper开头,则反向引用(Grupper)
将包含它(默认情况下正则表达式是贪婪的),如果字符串不是以Grupper开头,则反向引用将为空。
在你的位置,我会用两种不同的正则表达式来捕捉Butik和Grupper。