RegExpの解釈と許可される文字は実装によってわずかに異なるため、実行コンテキストを指定する必要がありますが、これはおそらく十分に一般的です。
正規表現を分解すると
\[ - an open bracket character.
(\d+) - one or more digits; save this as capture group 1 ($1).
\] - a close bracket character.
.? - 0 or 1 character, of any kind
\s+ - 1 or more spaces.
(\S+) - 1 or more non-space characters; save this as $2
\s+ - 1 or more spaces
(\/+?) - 1 or more forward-slash characters, optional as $3
(not sure about this, this is an odd construct)
\\r\n" - an (incorrectly specified) end of line sequence, I think.
まず、行末を一致させる場合は、\ r\nではなく$を使用します。これは、ほとんどのコンテキストで行の終わりと一致する必要があります。^は行の先頭に一致します。
次に、「Stopped」という単語の後に何をキャプチャしようとしているのかを正規表現から判断できないため、内部スペースを含め、残りを1つのブロックとして使用することを想定します。基本的にあなたと同じreg-expがそれを行います。
"\[(\d+)\].?\s+(\S+)\s+(.+)\s*$"
これはキャプチャします
$1 = 1,
$2 = Stopped
$3 = sleep 60
これは基本的にあなたと同じですが、最後まで「停止」した後、先頭と末尾の空白を除いて、単一のキャプチャグループ$3としてすべてを取得します。追加の解析を行う場合は、必要に応じて(。+)を置き換えます。これが一致するためには、「停止」の後に少なくとも1つの非空白文字が必要であることに注意してください。文字列$3がなくても一致させたい場合は、\s*(.*)\s*$
代わりにを使用してください\s+(.+)\s*$