它可能是如此簡單,但我在這里掙扎...我需要一個重復的數字的正則表達式,如果字符串的長度是 7 或 9 位數,應該匹配
2
怎么樣:
\b\d{7}(?:\d\d)?\b
單詞邊界確保您只有 7 或 9 位數字
2
嘗試(\d{7}|\d{9})
。這樣你就不匹配一個八位數長的字符串。
編輯 I:正如 Alex 所建議的(見注釋)\d{7}(\d{2})?
甚至可能表現更好。
編輯 II:好的,重讀問題,得到了問題。\D\d{7}(\d{2})?\D
應該這樣做。這也不匹配 8 位數中的 7 位數。
編輯 III:或使用 M42 建議的單詞邊界
1
試試這個。這是針對 C# 的。但它應該適用于其他語言。
(\d{7})|(\d{9})
這是它是如何工作的:
| 表示 OR
{7} 表示匹配 7 次
\ d 表示任何數字
本站系公益性非盈利分享網址,本文來自用戶投稿,不代表碼文網立場,如若轉載,請注明出處
評論列表(5條)