我想在perl中創建一個正則表達式,它可以在給定的文本文件中找到SSN,但不匹配以特定文本開頭的九位數字。表達我:奇數正則表達式
(?!.*X-MICROSOFT-CDO-OWNERAPPTID:-?)^.*(\b(?!000)(?!666)(?!9)[0-9]{3}[ -]?(?!00)[0-9]{2}[ -]?(?!0000)[0-9]{4}\b)
我想忽略: X-MICROSOFT-CDO-OWNERAPPTID:-444444444
或
X-MICROSOFT-CDO-OWNERAPPTID:444444444
但我想匹配除該文本以外的任何可能的SSN。使用上面的表達式,它將匹配有效的SSN之前的所有內容。有什麼建議麼?
什麼是假陽性,我們都應該被解決? – tripleee
對不起,我解釋了導致我創建這個正則表達式的問題。我實際上只是想知道爲什麼這個正則表達式匹配「ddd」 –
我認爲這是因爲這個部分'^。*'它不是一個否定,因爲它是在小組比賽之後(前瞻否定)你說的該行應該從任何東西開始。 –