2017-02-17 8 views
0

これを達成するためのRegExを1つ見つけようとしています。私は次の両方を試しましたが、うまくいかないようです。それは私がコンマオプションURLでRegExにドル記号とカンマが表示されないリダイレクト

"/cgi-bin/webscr\?(.*?),(.*)" -> https://www.paypal.com/cgi-bin/webscr?$1$2 
"/cgi-bin/webscr\?(.*?)" -> https://www.paypal.com/cgi-bin/webscr?$1 

例の入力/出力を行うことで問題を抱えていると思われる、次のとおりです。

http://www.example.com/cgi-bin/webscr?cmd=_xclick&[email protected]&amount=$300.00&currency_code=USD&item_name=Payment%20for%20invoice%20MS-12345&shipping=0&pbtype=service 

TO:

https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&[email protected]&amount=300.00&currency_code=USD&item_name=Payment%20for%20invoice%20MS-12345&shipping=0&pbtype=service 

http://www.example.com/cgi-bin/webscr?cmd=_xclick&[email protected]&amount=$30,000.00&currency_code=USD&item_name=Payment%20for%20invoice%20MS-12345&shipping=0&pbtype=service 

TO:

https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&[email protected]&amount=30000.00&currency_code=USD&item_name=Payment%20for%20invoice%20MS-12345&shipping=0&pbtype=service 
+1

どのような言語ですか?ちょうどいくつかの文字列のサブ/置換メソッドを使用するのはなぜですか? – ryugie

+0

メソッドや関数にアクセスするための言語はありません。私はWordPressのリダイレクトプラグインを使用しており、リダイレクトのURLとパターンが一致する正規表現を許可しています。これは私が持っている純粋なRegExの問題です。コンテキストが必要な場合のWordPressプラグインへのリンクは次のとおりです。https://wordpress.org/plugins/redirection/ – user3799537

答えて

0

あなたが本当にすべての$を解消したいと、それは同じように簡単になります場合:あなたはより洗練されたことと、あなただけが続くドル記号を削除していることを保証したい場合

s/[\$,]//g 

数字またはカンマ桁が先行し、3桁の数字(例えば、1,234,432.00 ==> 1234432.00)に続いて、あなたは長さゼロのアサーションを使用することができます

s/(?:(?<=\d),(?=\d{3})|\$(?=\d))//g 

を私はあなたが使っているものを正規表現エンジンを知りません、しかし最も現代的な正規表現nginesはルックアヘッドとルックアヘッドをサポートしています。実装に応じて、パターンを検索して置き換え、それをあなたの言語/実装に適合させるだけでよいでしょう。上記はperl検索/置換パターンです。

+0

Luv2code、Google検索でこの問題を調査しているときに、あなたが持っているものと同様の例があります。上記の例の文脈にあなたの表現を入れて、意図した結果を得るために私がどのように使用するのでしょうか?あなたの正規表現の例を使用する場合、パターンは$と、...の両方に一致しますが、リダイレクトを連結する結果のグループを作成するには、文字列に他のすべてを含めるにはどうすればいいですか? – user3799537

+0

気にしない、私はそれを考え出した!! '/ cgi-bin/webscr \?(。*)[\ $、](。*)'本当にありがとう!それは魅力のように働く。私は自分自身でこれを理解しようとしていた何時間も、最終的にstackoverflowに投稿する勇気を築くために何時間もかかったと信じられません。ありがとうございました! – user3799537

関連する問題