2

如何编写检测字符串不为空的 PHP 正则表达式?

空意味着,在这种情况下 0 个字符。例如,一个空格或一个换行符算作非空。

(它必须是适合 preg_match() 的正则表达式,因为我有一个包含各种正则表达式的查找表,并且不想以任何特殊方式处理这种情况,如果此处不使用正则表达式会使代码复杂化。)

更新:

//出于悲伤的原因,我也不能在外面使用任何正则表达式修饰符,例如“s” 。

对于downvoters:这个问题是不是太简单了?还是不够清楚?

4

2 回答 2

10
/[\s\S]/

匹配任何字符,即使您不能使用/s修饰符。

您不需要量词 ( +),因为如果一个字符匹配,则条件已经满足。

于 2012-08-21T08:14:10.620 回答
6

只是一个想法(至少匹配任何一个):

/.{1,}/
  • 或者,甚至更短的版本(如@tigrang 建议的那样):/.+/
  • 或者,更完整的版本(包括@BartKiers 的newline支持建议),其中s修饰符导致.元字符匹配\r\n以及:

    /.+/s
    
于 2012-08-21T07:46:17.053 回答