初めて投稿し、ICU Regex を使用したテキストの一致に問題があります。私は iOS アプリのワークフローを使用しており、OTC 株式データを取得する必要があるため、部分的に yahoo ファイナンスを使用して株式のワークフローを作成しようとしています。
この URLから、次の情報が得られます。
{"query":{"count":1,"created":"2015-01-10T22:39:34Z","lang":"en-us","results":{"row":{"col0":"MINERCO RES INC","col1":"0.0072"}}}}
私が作成しているワークフローは、会社名を要求し、それを上記の URL に挿入するのでcol1:0.0072
、この例では 0.0072 である重要な価格に注意してください。さらにフィールドを追加して関連データを取得できるようにします (例: col2:date)。
正規表現を使用しない回避策がありますが、追加のデータ セットを追加するとワークフローが非常に長くなります。他の誰かが株式ワークフローを投稿し、yahoo 以外の別のサイトを使用して単純に使用\{.*\}
しましたが、そのサイトは株式を引用符で返しましたが、価格は引用符で示されませんでしたが、yahoo は株式と価格の両方を引用符で示し、そのコードは機能しません。また、彼が使用したサイトはOTC株では機能しません
このアプリは、私の知る限り、Straight ICU Regex のみを使用するため、他の言語の正規表現の例の半分を実際に実行することはできません。
私はこれに何時間も費やしましたが、ICU Regex (NSRegularExpression タイプ) が必要であり、試した例の半分が間違っていることが最近わかったので、半分の時間は間違った構文を使用していました。
私が変更している元のワークフローでは、これを URL として使用しました: http://dev.markitondemand.com/Api/v2/Quote/jsonp?symbol=AAPL
結果の出力は次のとおりです。
(function () { })({"Status":"SUCCESS","Name":"Apple Inc","Symbol":"AAPL","LastPrice":112.01,"Change":0.120000000000005,"ChangePercent":0.107248190186795,"Timestamp":"Fri Jan 9 15:59:00 UTC-05:00 2015","MSDate":42013.6659722222,"MarketCap":656920728400,"Volume":4934490,"ChangeYTD":110.38,"ChangePercentYTD":1.47671679652112,"High":113.25,"Low":110.22,"Open":112.71})
そして、それは彼が "Match Text" を使用して作業したコードで、\{.*\}
JSON からのセットを解析できる入力からの辞書の取得を使用しました (この関数では JSON ( など{"foo": "bar"}
) とキーと値のペア ( などfoo=bar&baz=biz
) がサポートされています)。
だから私は彼が使用したもののような短いコードと私が使用している現在の回避策のような短いコードが欲しかった.