這裏的目標是找到長度爲5到8的所有數值。小數點和逗號在它們之間是允許的。這是我如何作出的表達式:數值正則表達式
\b[0-9](,?\.?\d){4,7}\b(?!,\d)
它工作正常,除非它匹配10,000,02332爲000,02332。我嘗試了兩個向後看和^,但它似乎我犯了一些錯誤。
這裏是示例文本
- 的Nunc 12vitae lac332us sollicitudin 2033112233,雜色山雀100212存有一,孕婦10,000,02332賭注。 Nunc et 100,021 justo eget arcu fringilla fermentum id venenatis lacus。 Pellentesque a 23133221 tellus vel diam dignissim scelerisque123 nec ac2 12311 ipsum。在12311.1處有調味品1233312234666。 Nulla 4564quis viverra 568833452233 nunc。 Morbi 234322123冥想,nulla adipiscing interdum venenatis,dui mi 2341112333 congue erat,sed 34234112323 suscipit est 345221在lorem中的turpis。 Proin magna123 nunc,1231116565 rhoncus sit amet elit a,fermentum 5467667834533 semper felis。整數non elit placerat metus fermentum auctor。 Donec viverra enim in augue adipiscing,eget facilisis 3422211 ligula 12313645 vulputate。 Maecenas tincidunt 2346776444 posuere pretium。 Donec euismod cursus velit。 ,11111
你可以在這裏進行測試: http://gskinner.com/RegExr/
您上'000,02332'因爲\ B無字字符,其中包括'匹配匹配,'和' .'。 http://www.regular-expressions.info/wordboundaries.html – mjk