2016-04-26 6 views
0

正規表現で欠けているフィールドをどう扱うのですか?ハンドルが正規表現のスキップされたフィールド

私は以下の文字列を持っていますが、いくつかのIDがありません...私は私の正規表現がIDが存在するが、このフィールドが存在しない場合は無視します。それについてどうやって行くの?助言がありますか?

SessionId":1500000055031,"Id":235596,"Te":"XXnt", 
SessionId":1500000055031,"Id":235596,"Te":"XXnt", 
"SessionId":1500000055032,"Te":"CreateEreTree", 
"SessionId":1500000055032,"Te":"CreateEreTree", 
"SessionId":1500000055032,"Te":"CreateEreTree", 
SessionId":1500000055031,"Id":235596,"Te":"XXnt", 
SessionId":1500000055031,"Id":235596,"Te":"XXnt", 
SessionId":1500000055031,"Id":235596,"Te":"XXnt", 
SessionId":1500000055031,"Id":235596,"Te":"XXnt", 

以下は現在私が固執している正規表現です。 "が存在するか存在しないことができ、それはあなたの入力から思えるようごID中に存在する唯一の6桁の数字があり、これがされると仮定すると、

\w*":(\d*)."\w*":(\d*),"\w*":"(\w*)", 
+0

実際に何を*しようとしていますか?これは疑わしい[XY問題](http://mywiki.wooledge.org/XyProblem)のように見えます。正規表現はあなたの目標を達成するための最良の方法ではないかもしれませんが、正規表現の助けを求めるだけの方が良い方法を見つけることはできません。 – ghoti

答えて

0

まあは、ちょうどあなたの正規表現を修正します。オプションの構造?を使用して、それが存在するかどうかをキャプチャし、それ以外の場合は無視します。

\w*":(\d*).(?:"\w*":(\d*),)?"\w*":"(\w*)",