1
私の正規表現を動作しません、私が一致することを期待何貪欲ない正規表現は
@Time blah blah @TIME(1d) blah @NOW(12312) 12:32:25 blah @TODAY(12312) 12:32:25
:
@NOW(12312) 12:32:25
私の正規表現を動作しません、私が一致することを期待何貪欲ない正規表現は
@Time blah blah @TIME(1d) blah @NOW(12312) 12:32:25 blah @TODAY(12312) 12:32:25
:
@NOW(12312) 12:32:25
代わり.*
の否定文字クラスを使用します:
@((TIME|NOW|TODAY)\([^@]*?\)\s+[0-2]?[0-9]:[0-5][0-9]:[0-5][0-9])
[^@]*
はない@
は、このよう@
から始まる他の文字列にマッチされていない任意の文字の0以上に一致します。
、あなたは否定先読みベースの正規表現を使用することができ、あなたのマッチした文字列で@
を持つ可能性がある場合:あなたはちょうど `@NOW(12312)と一致する必要がある場合
@((?:TIME|NOW|TODAY)\((?:([email protected](?:TIME|NOW|TODAY)).)*\)\s+[0-2]?[0-9]:[0-5][0-9]:[0-5][0-9])
は、12: 32:25'の場合、[@NOW \([0-9] + \)\ s + [0-9:] + '](https://regex101.com/r/nM7nP1/1)のみが必要です。 –