0

正規表現を使用して URL の特定の部分を取得する必要があります。URL は次のようになります。

/xxxx/bbbb/good/city/games_in_the_city.~cccccc~dddddd~eeeee.html

games_in_the_city を取得する必要があります。/が削除されるまで、最初の部分を取得しました。残りも削除できるように、文字列内で最初に出現する ~ を見つける必要があります。私が今持っている正規表現(.*\/good\/city\/)(.*)(\.html)games_in_the_city.~cccccc~dddddd~eeeee

どうすれば正規表現を変更~cccccc~dddddd~eeeeeできるので、削除することもできますか。最終的な出力は、games_in_the_city I will not know how many ~(tilde) can appear in the URL. になるはずです。1対nの場合もあります。

4

3 に答える 3

1

文字列だけが欲しいと仮定すると、次のaaaaようなことができます:

/.*\/([^~]*)/

基本的には「最後の から始めて、/ではないものすべてに一致する」ということです~

于 2012-04-27T17:27:56.443 に答える
0

試してみてください([^~]*)~- そこにあるグループには、すべての as とアンダースコアがあります。

言語/ツールによっては、より良いサポートがあるかもしれません。たとえば、perl では、s/~.*//;以前のものをキャプチャすることなく、チルダから最後まで削除するために使用します。

于 2012-04-27T17:28:36.460 に答える
0

各キャプチャをグループに入れるのはどうですか。これにより、URL の個々のセクションが取得されます。

^/([\w]+)/([\w]+)/([\w]+)/([\w]+)\.~([\w]+)~([\w]+)~([\w]+)\.html$
于 2012-04-27T17:31:56.093 に答える