次のような文字列があります。blah Wt 10.35 kg blah
そして私は使用しています:(?<=Wt)(.*?)(?=kg)
重量の値 (Wt と kg の間) を取得するには、どちらかの側から空白を引きます。
式を微調整して、空白ではなく値を返す方法を教えてください。
とにかくグループを使用しているので、非キャプチャグループを追加するだけです:
(?<=Wt)(?:\s*)(.*?)(?:\s*)(?=kg)
\s*
0 個以上の空白文字に一致します。
ルックアラウンドにスペースを入れます。
(?<=Wt\s*)(\S+)(?=\s*kg)
.net フレームワークを使用しているため、可変長の後読みを使用できます (他の正規表現では禁止されていることがよくあります)。
\s
白い文字 (スペース、タブ、改行) の文字クラスです。
\S
含まれていないすべてを意味します\s
\S+
代わりに.*?
、怠惰な量指定子を避け、ターゲット部分文字列の周りのスペースを削除するために使用しました。