2016-09-14 11 views
2

後の試合は私がしたいんそこから複数行の正規表現。時には、現在の文字列

/ROC/42398492837498 
/RFB/SOMETHING1 
SOMETHING2 

の複数行の文字列を持っている:彼らは開始した場合

  • 何の行を/ ROC/
  • /RFBの後に来る文字列を使用して/ if/RFB /が存在する場合
  • 上記のいずれも満たされない場合、文字列全体。

だから私の例から、私が期待する:

  • 一致
  • SOMETHING1
  • SOMETHING2

これまでのところ私は

^(?!\/ROC\/)(?:\/RFB\/)?.*$ 
を持っています

しかし、これは2行目の/ RFB /と一致します。これはおそらくオプションの?そして、次の*

+1

最後に '。*'をグループ化するだけです: '^(?!/ ROC \ /)(?:\/RFB \ /)?(。*)$' – Maroun

+0

[ https://regex101.com/r/rA3vS7/1)。 –

+0

正規表現を使用している環境は何ですか?あなたは '(。*)'をキャプチャする必要があります - それはグループ1になります。 –

答えて

0

あなたはキャプチャグループを使用する必要があります。

^(?!\/ROC\/)(?:\/RFB\/|)(.*)$ 

それはあなたに以下を与える:

MATCH 1 
1. [25-35] `SOMETHING1` 
MATCH 2 
1. [36-46] `SOMETHING2` 

regex101でそれを参照してください。

関連する問題