itemが必ず入ってい<mark>〜</mark>を検索する方法はありましか?
その場合itemがない<mark>〜</mark>があり、これはヒットさせたくありません。

javaです。
正規表現は:<mark>.*?</mark>(?<!item.*?)

<mark> item </mark>  → うまくいく

<mark> item </mark> <mark> </mark> <mark> item </mark>  → うまくいかない
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑_↑↑↑↑↑↑↑↑↑
1個目のヒット_____________2個目のヒット