2013-03-29 64 views
1

我不是当谈到正则表达式完全是一个职业,我必须通过这个正则表达式的东西运行PHP脚本:

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

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

回答

1

总之所有该正则表达式是做是这样的:

^.+$ 

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

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

所以它匹配所有至少有1个字符的内容。

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

0

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

1

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

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

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

+相当于{1,}

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

相关问题