簡體   English   中英

Java正則表達式,用於在字符串中任意位置精確地顯示5位數字

[英]Java Regular Expression for number of exactly 5 digits anywhere in the string

我正在嘗試創建一個正則表達式來解析字符串中的5位數字,無論它在哪里,但是我似乎都無法弄清楚如何獲取開頭和結尾的大小寫。

我使用的模式如下\\\\d{5}但這會捕獲更大數量的子集...但是,當我嘗試做類似\\\\D\\\\d{5}\\\\D它不會不適合最終情況。 在這里,我將不勝感激! 謝謝!

舉幾個例子(應該提取55555 ):

At the beginning of the string
"55555blahblahblah123456677788"

In the middle of the string
"2345blahblah:55555blahblah"

At the end of the string
"1234567890blahblahblah55555"

由於您使用的是支持它們的語言,因此請使用否定性環顧:

"(?<!\\d)\\d{5}(?!\\d)"

這些將斷言您的\\\\d{5}既不是數字也不是數字。 這是由於字符串的邊緣還是非數字字符無關緊要。

請注意,這些斷言本身就是零寬度匹配。 因此,這些字符實際上不會包含在比賽中。 這就是為什么將它們稱為后向和向前。 他們只是檢查那里有什么,而沒有真正使它成為比賽的一部分。 這是使用\\\\D另一個缺點,它會在您的匹配項中包含非數字字符(或要求您使用捕獲組)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM