2017-05-18 4 views
0

私はfacebookのURLからidを引き出す正規表現を持っています。 URLは、以下のいずれかの形式にすることができます。私は正規表現の結果もリストアップしました。Javascript Regexが3/5の場合の文字列の作業から引き出す

https://graph.facebook.com/1234567890 >>> 1234567890 
https://graph.facebook.com/1234567890:0 >>> 1234567890:0 
https://graph.facebook.com/&id=1234567890 >>> 1234567890 

これらはすべて問題ありません。ここで

https://graph.facebook.com/1234567890/picture >>> picture 
https://graph.facebook.com/1234567890/ >>> 1234567890/ 

は私の正規表現です::私が欲しいものではありません2です。ここ ([^\/|=]*?)(?:\/|:[0-9])?$

最後の2からは、私が欲しいのは1234567890末尾のスラッシュではない、と何の非数字文字。

  1. 私は私の正規表現は、したがって、開始スラッシュと文字列の最後であること「絵」との試合で引っ張って、文字列の末尾に続けているけど、私は無駄にこの問題を解決することを試みました。
  2. 最後のスラッシュも、これに関連するようだが、再び、私は、元の作業3.

答えて

1

どのようにどのかもしれURLで任意の数字にマッチするシンプルな正規表現についてを壊すことなく、これらの2つの問題を解決することはできません:が含まれます。仕事に、このための前提は、URLは、他のIDの他

\d+(?::\d+)? 
  • \d+を抽出する必要がある1以上が含まれていないということである一つ以上の数字
  • :\d+は1続く:を示していることができます以上の数字
  • (?::\d+)?
  • この非キャプチャグループがあってもなくてもよいことを示している

Regex101 Demo

+0

これは素晴らしい答えです。なぜなら、あなたは私のような初心者の人たちに何が起こっているのかを説明しているからです。これにより、さらに類似した質問を投稿する必要性が大幅に減り、正規表現をさらに理解する助けになります。ありがとうございました。 – jmcgui05

+0

ありがとう!お役に立てて嬉しいです。私は[ここ](http://www.regular-expressions.info)から始め、[regex101](https://regex101.com)を使って遊んで正規表現を学ぶことをお勧めします。それは簡単に最高のステップバイステップの説明とテスト領域の1つ、さらには様々なエンジンのサポートを提供しています! – degant

関連する問題