我不是当谈到正则表达式完全是一个职业,我必须通过这个正则表达式的东西运行PHP脚本:
^[\d\D]{1,}$
是什么应该要做,它似乎匹配一切?
我不是当谈到正则表达式完全是一个职业,我必须通过这个正则表达式的东西运行PHP脚本:
^[\d\D]{1,}$
是什么应该要做,它似乎匹配一切?
总之所有该正则表达式是做是这样的:
^.+$
这意味着匹配1或更大的长度的任何字符(数字或非数字)。
\d
匹配任何数字\D
匹配任何非数字。[\d\D]
匹配所有数字和非数字。{1,}
要求在[]
的比赛中重复至少1次(没有上限)。所以它匹配所有至少有1个字符的内容。
你说得对。实际上至少有一个字符长。但是以一种过于复杂和毫无意义的方式。 [\d\D]
相当于.
和{1,}
相当于+
^[\d\D]{1,}$
将匹配其含有一个或多个{1,}
任何数字\d
或非数字字符\D
包括换行符的字符串。
相比之下,^.+$
将匹配包含一个或多个任何字符,除了换行符的字符串。如果单行修饰符被添加到正则表达式中,即/^.+$/s
那么.
也将匹配包括换行符的任何字符。
[\d\D]
相当于在单线模式下使用.
,虽然更常见的[\s\S]
用于相同的结果。
+
相当于{1,}
。
正则表达式将匹配包含至少一个任何类型字符的整个任何字符串。