私は行の最後に停止する正規表現に苦労しています。Regex:行の末尾に一致しない
入力は次のようになります。
一部の行は、コロンの後に(任意の文字を含んでいてもよい)の値を持っている、いくつかはしないでください。コロンの両側にスペースがある場合があります。行2及び4次の作業のため
(すなわち、それぞれ一致12
と16
):
Pink\s*:\s*(.*)\n
Red\s*:\s*(.*)\n
しかし、ライン3(一致する値がない場合)、上記の構文を使用して正規表現16を返しますすなわち、行末を超えて読み込みます。
誰でも私が間違っていることを示唆することはできますか?私はVBAを使用しています。
例では16より前に余分なコロンがあることに気がついたので、実際には16が返されますが、それは質問には関係ありません。 – QAer
'\ s'を' [\ t] 'に置き換える必要があります。または '[^ \ S \ r \ n]'で。 –