我有一個(gè)非?;靵y的字符串?dāng)?shù)組,它們不遵循任何特定的模式?;旧希@是用戶(hù)的屬性被搞亂了(所有信息都在一個(gè)字符串中,沒(méi)有遵循任何一種模式)。我對(duì) 2 個(gè)特定屬性(電子郵件和號(hào)碼)感興趣。我找到了一種獲取電子郵件的方法,并認(rèn)為以下正則表達(dá)式:^9[0-9]{9}將適用于用戶(hù)的手機(jī)。但是,某些用戶(hù)的電子郵件地址確實(shí)等于電話(huà)號(hào)碼 +“@”之類(lèi)的東西。這似乎是個(gè)問(wèn)題。所以,我需要一個(gè)正則表達(dá)式來(lái)排除以下內(nèi)容并只給我一個(gè)數(shù)字。9876548877@我試過(guò)了^9[0-9]{9}((?!@).{0})*$"并在這里獲得完全匹配:9876548877但只有當(dāng)字符串不包含除此之外的任何內(nèi)容時(shí),它才能很好地工作。我試圖實(shí)現(xiàn)的是在這樣的字符串中獲取準(zhǔn)確的電話(huà)號(hào)碼:/*?mess?mess?mess*/?John?Doe?Jr?email:?9876548877@jdoe.com,?phone?number:?9876548877,?/*?more?mess?*/我該怎么做?提前致謝。
1 回答
MM們
TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
您可以使用環(huán)視來(lái)斷言左邊的不是非空白字符,右邊的不是@:
(?<!\S)9[0-9]{9}(?!\@)例如,如果可以:直接在數(shù)字之前,您可以省略開(kāi)頭的后視并使用單詞邊界\b
添加回答
舉報(bào)
0/150
提交
取消
