我想要一個數字的正則表達式,它是一個連續的數字字符串,沒有空格 - 請大家幫忙!取決於實現我想 三江源reg表達式的一個數
回答
d * 或 [0-9] * ...
你的意思是'\ d',對吧?使用'+'代替'*':'\ d *'將匹配偶數和空字符串。 – Amarghosh 2010-01-06 09:15:07
'*'表示'0或更多',所以這會匹配'[0-9] *'匹配一個空字符串。更糟糕的是,給定字符串「abcd」,這將返回5個匹配項:一個在字符串的開始和結尾,以及每個字符之間的一個。每場比賽將是0長度。 '+'規定'1或更多',並且不會這樣做。 – 2010-01-06 09:16:13
這是最簡單:
^\d+$
這個正則表達式僅一個序列匹配或更多數字。 ^
和$
分別標記字符串的開始和結束。
但是,這也將允許前導零的數字。如果你不想這樣,使用:
^(0|[1-9]\d*)$
這符合一個單一的0
或1
開頭的號碼.. 9
後跟零個或多個任意數字。
'^'和'$'分別標記行的開始和結束 - 由於非數字字符,這與a123456b不匹配。我不清楚這是OP的結果。 – 2010-01-06 09:13:13
然後再說一遍,目前還不清楚它是不是OP想要的。 – 2010-01-06 09:23:04
\d+
將在大多數實現中工作。
\d
表示digit
- 如果您的實施沒有此功能,請改爲使用[0-9]+
。
+
表示one or more of the preceeding pattern
。
編輯:這是在python表示+
和*
之間的差異的例子:
>>> import re
>>> r = re.compile('[0-9]*')
>>> print r.findall('asdf')
['', '', '', '', '']
>>> r = re.compile('[0-9]+')
>>> print r.findall('asdf')
[]
>>> print r.findall('abc12345ghi')
['12345']
>>> r = re.compile('^[0-9]+$')
>>> print r.findall('abc12345ghi')
[]
如果只是爲正則表達式:
\ d 匹配任何十進制數字;這相當於類[0-9]。
所以,你可以寫
\ d *或[0-9] * - 從空字符串到數字
\ d +或[0-9] +連續字符串 - 在至少一個數字
如果您想知道如何在特定語言中使用此語言,請指定語言pls。
- 1. reg表達式從數據
- 2. 在reg表達式
- 3. Java Reg表達式
- 4. Reg表達式JavaScript?
- 5. reg表達式的字符數
- 6. Reg表達式在C#
- 7. reg表達式以JavaScript
- 8. 拆分reg表達式
- 9. 簡單Reg表達式
- 10. HTML轉義 - Reg表達式?
- 11. filter_var函數與Reg。表達式
- 12. Reg。表達式檢查字符串的第一個字母
- 13. reg表達式截斷最後一個點的字符串
- 14. Reg表達式包括單詞列表
- 15. 用reg添加列表。表達式
- 16. 轉換的Javascript reg表達式到PHP
- 17. reg表達式 - 記錄右組(JavaScript)的
- 18. 谷歌分析的Reg表達式
- 19. 的Python reg表達式刪除引號
- 20. 此reg表達式的問題
- 21. 需要一個reg表達式中使用preg_match_all
- 22. 正則表達式替換REG商標
- 23. Vim reg表達式和別名方法
- 24. reg表達式錯誤組合
- 25. Asp.net MVC reg表達式屬性
- 26. 用reg表達式替換Notepad ++?
- 27. 如何排除android reg表達式中的數字號碼
- 28. Javascript Reg表達式替換URL中的Get參數
- 29. reg表達式檢查字符串的第一個字母是Android的
- 30. REG前表達式查找和替換一些在[]
你可以發佈一些示例字符串來匹配嗎?例如 – jerjer 2010-01-06 09:16:40
,「some45b40」,是否有匹配或45和40匹配? – jerjer 2010-01-06 09:17:35