2016-08-21 9 views
1

残念なことに申し訳ありませんが、私はコーダ/プログラマではありません。Find&Replaceでregexを使ってパターン/文字列以外のすべてを抽出します。

したがって、Amazon URLからいわゆるASINを抽出したいと思います。 私はこれを見つけた: 私は正規表現を与えるscrape ASIN from amazon URL using javascript

:("/([-ZA-Z0-9] {10})(:| $?[/?])")

これは、私がExcelなどでこれを使用すると、すでに役に立ちました(動作します)。

はしかし、私はまた、私だけ&がを交換して下さいと私のテキストを編集することができます別のツールを使用する必要があります。私は正規表現を使用することができますが、ツールは常に私の正規表現からの結果を置き換えます。

したがって、/([a-zA-Z0-9] {10})(?:[/?] | $)を使用すると、探している文字列が正確に検索されますが、ブランクか、置換フィールドに置いたものであれ

私の質問:

正規表現は、私が検索を使用しなければならない時に見なければならないのはどのよう&置き換えますか?私はそれが一致する必要がある/何かを見つけるASIN /文字列と空白と置き換えます。日の終わりには、ASIN以外のすべてを削除/置き換えてください。

例入力:https://www.amazon.de/gp/product/B00ZFWRGXC/REF = br_asw_pdt-1 pf_rd_m = A3JWKAKI7XB7XF & pf_rd_s =デスクトップ-6 & pf_rd_r = BKAKXRSA7JM715TZ38YN & pf_rd_t = 36701 & pf_rd_p = f54c1f0d-d685-4847-826e-7fdd8c321011 & pf_rd_i = desktop

と私は大胆な部分を(Find & Replaceで)保持したいだけです。

私はこれを数時間にわたって研究しており、そのトピックについて多くのスレッドを読みましたが、必要な結果を得ることは決してできませんでした。

だから、誰かが私を助けてくれることを願っています...ありがとう!

+0

あなたが作業しているツールのヘルプフォーラムで、検索/置換オプションのみを許可する方がよいでしょう。 – lps

+0

ありがとうございます。私は文字列内の何かを削除したいが、** /([a-zA-Z0-9] {10}) "と一致する単語を残したいと思ったら**私の正規表現はどのように見えるか? ..? – Pat

+0

'/([a-zA-Z0-9] {10})|(?:(?!/ [a-zA-Z0-9] {10}))} *'を使用して '$ 1 \ n ' –

答えて

0

1つのブランチが一致し、であることがわかります。もう1つは、シーケンスを開始しないすべてのテキストと一致します。

使用

/([a-zA-Z0-9]{10})|(?:(?!/[a-zA-Z0-9]{10}).)* 

$1\nと交換してください。それがうまく動作するようにするには、改行オプション(存在する場合)に一致するように.がオンになっていることを確認してください。存在しない場合は、.[\s\S]に置き換えます。

詳細

  • /([a-zA-Z0-9]{10}) - /と一致し、10の英数字記号
  • |キャプチャ - または
  • (?:(?!/[a-zA-Z0-9]{10}).)*を - と続い/のシーケンスを開始されていない任意の0+文字10英数字記号。

$1は、キャプチャグループ(10文字の英数字)の内容を結果に戻す逆参照です。

+0

ウィークウィル、もう一度あなたの助けに感謝します。この正規表現は99.9%のケースで完璧に動作します(または何かが逃したかもしれません)が、一部のURLでは動作しません。このように:[リンク] "https://www.amazon.de/Bloomingville-Brotkasten-klein-mintgr%C3%BCn-Metall/dp/B00U7OMWY6/ref=sr_1_1?ie=UTF8&qid=1474307131&sr=8-1&keywords= B00U7OMWY6I "[/ link]上記の正規表現を使用した後、この" BloomingviB00U7OMWY6 "を入手してください。あなたはたぶん別の時間を助けることができますか?このケースをキャッチする正規表現を変更するにはどうすればよいですか? - 1分前に編集 – Pat

+0

を編集してください。['str.replace(/ \ /(a-zA-Z0-9){10})\/|(?:(?!\/[a-zA-Z0 -9] {10} \ /)。)*/g、 '$ 1') '](https://regex101.com/r/kZ8sJ4/1)。 –

関連する問題