2016-12-07 12 views
0

で終了する必要があり、私は、次の正規表現:言葉与えられた文字の1

  • リテラル%
  • で始まるすべての種類の0-無制限の文字を含めることができますが、
  • 必見をキャプチャする正規表現をしたいですすぐ上の文字のいずれかを、次の次[diouxXeEfFgGcrs]
  • の一つで終わることはワード境界(\b
があるはずです

私が試した正規表現はこれです:%.*?[diouxXeEfFgGcrs]\b問題は%y %sのようなものです。代わりに、%yをスキップし、%sをキャプチャする必要があります。

ここにはlinkとregex101があります。

+0

あなたの第2の条件は、 'ワードboundary'が含まれていますか?いいえ、私は推測する[これは動作するかもしれません。](https://regex101.com/r/cBqHpm/5) – Rahul

+0

これは非常に奇妙な要件のように聞こえる。 ['%([diouxXeEfFgGcrs] \ B | [^ diouxXeEfFgGcrs])* [diouxXeEfFgGcrs] \ b'](https://regex101.com/r/diNNef/1)を試してください。しかし、私は出力がどのように見えるのかは分かりません。 –

+0

サードパーティのサイトではなく、質問自体の[mcve]にすべての関連コードを入力してください。 –

答えて

2
%+[^%]*?[diouxXeEfFgGcrs]\b 

デモをご覧ください。

UPDATED DEMO HERE https://regex101.com/r/cBqHpm/8

+0

これは非常に近いですが、私も '%% s'をキャプチャしたいです – stoebelj

+0

@stoebelj https://regex101.com/r/cBqHpm/8? – vks

+1

ああ、完璧!私は新しい正規表現へのリンクを更新する自由を取った – stoebelj

関連する問題