我想要一个数字的正则表达式,它是一个连续的数字字符串,没有空格 - 请大家帮忙!取决于实现我想 三江源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