4

2行目の数値と一致する正規表現が必要です。同様の入力は次のようになります。

^C1.1
xC20 
SS3 
M 4 

10 進パターン(-?\d+(\.\d+)?)はすべての数字に一致し、2 番目の数字はコード ビハインドのループで取得できますが、2 行目の数字を直接取得するには正規表現が必要です。

4

4 に答える 4

0

これが一致するすべてのグループ 1 をチェックアウトします。

^.*?\r\n.*?(\d+)

それでもうまくいかない場合は、これを試してください:

^.*?\r\n.*?(\d+)

どちらも複数行が設定されていません...

于 2013-09-05T16:24:11.410 に答える
0

おそらくどこでキャプチャされたグループを使用するでしょう/^.*?\r?\n.*?(-?\d+(?:\.\d+)?)/...</p>

^                  # beginning of string
.*?                # anything...
\r?\n              # followed by a new line
.*?                # anything...
(                  # followed by...
   -?              # an optional negative sign (minus)
   \d+             # a number
   (?:             #   -this part not captured explicitly-
       \.\d+       # a dot and a number
   )?              #   -and is optional-
)

後読みをサポートするフレーバーである場合は、他の選択肢があります。

于 2013-09-05T16:25:43.943 に答える