2011-01-28 8 views
1

私はちょうどJavascriptでREを使って作業を始めました。私は、gskinner.comからRegExrと呼ばれるプログラムで構文を作成しました。テストデータでは問題なく動作しますが、javascriptでは "invalid quantifier"エラーが発生します。私が理解できるものから、それは恐らく、エスケープされていない特殊文字であることを意味します。私は一日中成功していなかった。私はRegExrでコードを投稿していますが、私の試みでは難しくなります。 私を助けてください。正規表現の正しいエスケープに必要なヘルプjavascript

コード:事前に

data = data.replace(/(Photo)|(?<=Photo:)(.+?)(?=Stock)|(Stock Code)|(?<=Stock Code:)(.+?)(?=Make:)|(Make)|(?<=Make:)(.+?)(?=Model:)|(Model)|(?<=Model:)(.+?)(?=Year:)|(Year)|(?<=Year:)(.+?)(?=Price:)|(Price)|(?<=Price:)(.+?)(?=Description:)|(Description)|(?<=Description:)(.+?)(?=Photo:)|(?<=Description:)(.+?)(?=$)/g, ""); 

感謝。 ジャック

+8

JavaScriptはlookbehindアサーション '(?<=)'をサポートしていません。 – BoltClock

+0

あなたの正規表現は何をすべきですか?そこにはあなたがindendetすることはできませんがたくさんあります。例えば。 「写真」が存在することに依存するので、第2の選択肢「(?<= Photo:)(。+?)(?= Stock)」は決して一致しない。 – Jens

+0

こんにちはジェンス、申し訳ありませんが、それは置き換えないでくださいが一致します。写真:http:xxxx.xxx/images/photo.jpgストーリーコード:001Make:AlfaModel:JuliettaYear:2011Price:240000.00Description:Brand NewPhoto:http://xxxx.xxx/images/photo2このような文字列があります。 .jpg ....私は最終的にjson文字列に変換して、asmx webserviceにjquery ajax呼び出しを渡したいと思っています。 {'写真': 'http://xxxx.xxx/images/photo.jpg','Make': 'Alfa'、 'Model': 'Julietta'、 'Year': '2011'、 'Price': '240000.00'、 'Description': 'Brand New']、['Photo': 'http://xxxx.xxx/images/photo2.jpg','Make': 'Bentley'、....]}希望それは意味を作る。 –

答えて

1

この質問を閉じるために、@ BoltClockのように正しく述べました。 "JavaScriptはlookbehindアサーション(?<=)をサポートしていません。"