1

URLでスラッシュされた2つの間のコンテンツを抽出しようとしています。このためにstringrfunctionを使用していますstr_match

library(stringr)
test <- "http://www.lefigaro.fr/flash-actu/2014/04/08/97001-20140408FILWWW00162-ump-cope-defend-sa-gestion-financiere.php"

私はなんとか完全な文字列を抽出しました:

str_match(test, "http://.*?/.*?/")

     [,1]                                
[1,] "http://www.lefigaro.fr/flash-actu/"

しかし、括弧を追加して文字列内の一致を抽出すると、結果が予期せず変化します。

str_match(test, "http://.*?/(.*?)/")

     [,1]                                      [,2]  
[1,] "http://www.lefigaro.fr/flash-actu/2014/" "2014"

かっこが正規表現でどのように解釈されるかの問題に違いありません。どんな手掛かり?

4

1 に答える 1

1

(.*?)多分あなたがそれで変わるならうまくいくでしょ([^/]*?)う。

  • .任意の文字に一致
  • [^/]ではないすべての文字に一致します。/

私は stringr に慣れていませんが、それは preg_ 関数を使用して php で行うことです。

それが役に立てば幸い

于 2014-11-27T14:31:59.870 に答える