2016-12-14 14 views
0

私は正規表現の魔女に日付を検索します(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](20)\d\dRegEx VB.NETの文字列の一部

問題は、マッチが10.10.10.2019のような別の文字列内にある場合にマッチを返し、それが日付として10.10.2019と一致することです。初めと終わりには\bと試してみましたが、運はありません。 ^$も使用されていますが、まだ運がありません。

答えて

0

あなたは空白の間にのみマッチに前後参照を使用するか、文字列の開始/終了する必要があります。

(?<!\S)(?:0?[1-9]|[12][0-9]|3[01])([- /.])(?:0?[1-9]|1[012])\k<1>20\d\d(?!\S) 
^^^^^^^                ^^^^^^ 

は私も最初のセパレータをキャプチャすることにより、同一のセパレータをチェックすることをお勧めregex demo

を参照してください。 ([- /.])とし、\k<1>(明白な)逆参照を使用して同じ値に一致させます。

+0

あなたが入力した正規表現は、この日付形式を認識しません。1-1-2016 – Wotikar

+0

今は.... –

関連する問題