私は正規表現にあまり詳しくなく、私を超えた問題に遭遇しました。文字列をトークン化し、最後から数えて任意のトークン以外のすべてを取得する式を考え出すのに助けが必要です。
P037-077
たとえば、次の文字列からすべてを取得したいのですが
http://www.wayfair.com/George-Kovacs-by-Minka-Bling-Bling-1-Light-Wall-Sconce-P037-077-GKV1032.html
これを行う 1 つの方法は、区切り文字を「-」にしてトークンを逆方向に数え始め (文字列の必要な部分の左側にいくつのトークンがあるかという保証はありません)、2 番目と 3 番目のトークンを取得してから取得することです。それ以外のすべて。
-([^-]*-[^-]*)-[^-]*$
This returnsである式の 90% をP037-077
取得しましたが、その補数を取得する必要があります。
うまく説明できたかどうかわかりません。不明な点がありましたら再度ご説明いたします。
これは任意の言語でトークン化することで簡単に実行できることはわかっていますが、残念ながら、私が使用しているツールは正規表現のみを入力として受け取るため、それを行う自由はありません。Java 構文を使用します。