这个正则表达式应该做什么? ^ [\ d \ d] {1,} $

时间:2013-03-29 12:06:01

标签: regex preg-match

当谈到正则表达式时,我不是一个专业人士,而且我有一个PHP脚本可以运行这个正则表达式:

^[\d\D]{1,}$

这应该做什么,似乎它匹配一切?

4 个答案:

答案 0 :(得分:1)

  • \d匹配任何数字
  • \D匹配任何非数字。
  • [\d\D]匹配所有数字和非数字。
  • {1,}要求[]中的匹配至少重复一次(没有上限)。

因此它匹配至少包含1个字符的所有内容。

参考:http://www.regular-expressions.info/reference.html

答案 1 :(得分:1)

总之,正则表达式所做的就是:

^.+$

这意味着匹配任何长度为1或更长的字符(数字或非数字)。

答案 2 :(得分:1)

^[\d\D]{1,}$将匹配包含一个或多个{1,}任意数字\d或非数字\D字符的字符串,包括换行符

相反,^.+$将匹配包含换行符之外的任何字符中的一个或多个的字符串。如果将单行修饰符添加到正则表达式,即/^.+$/s,那么.也会匹配任何字符,包括换行符。

[\d\D]相当于在单线模式下使用.,但更常见的是[\s\S]使用相同的结果。

+相当于{1,}

正则表达式将匹配包含至少一个任何类型字符的任何字符串。

答案 3 :(得分:0)

你是对的。事实上,任何至少一个字符长的东西。但是以一种过于复杂和毫无意义的方式。 [\d\D]相当于.{1,}相当于+