コンテンツはテキストとリンクで構成されます。一部のリンク(一部のみ)はパターン#PARAM1[\w+]#PARAM2[\w+]#PARAM3[\w+]
で終了する場合があります。 PARAM3はオプションです。例えば、URLにURLが特定の方法で終了し、順序が無視される場合にのみ一致する
http://www.google.com
を与えられたパターンが一致していなければならない、次の中一つが一致する必要があります:
http://www.google.com#PARAM1[\w+]#PARAM2[\w+]#PARAM3[\w+]
http://www.google.com#PARAM1[\w+]
http://www.google.com#PARAM1[\w+]#PARAM2[\w+]
http://www.google.com#PARAM3[\w+]#PARAM2[\w+]#PARAM1[\w+]
などがあります。 URL自体のために、私は私のニーズには十分で、次の正規表現、使用しています:
\b(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
を私の質問は、どのように私は試合中に含まれる追加のパラメータを提供することができています。私は肯定先読みを使用しようとしました:
\b(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?((?=.*#ID\[\w+\])(?=.*#NAME\[\w+\])(?=.*#TAG\[\w+\]))
しかし、一致する文字列には、先読みが含まれていないため、URLのみが含まれています。これには簡単な解決策が必要です。 :)
私はそれを助ける場合、私はこれのためにJavaを使用しています。