用正则表达式检测非空字符串?

时间:2012-08-21 07:41:17

标签: php regex pcre

如何编写检测字符串不为空的PHP regexp?

空意味着,在这种情况下为0个字符。例如,单个空格或单个换行计为非空。

(它必须是适用于preg_match()的regexp,因为我有一个带有各种regexp的查找表,并且不想以任何特殊方式处理这种情况,它会使代码变得复杂,因为这里不使用正则表达式。 )

更新

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

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

2 个答案:

答案 0 :(得分:10)

/[\s\S]/

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

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

答案 1 :(得分:6)

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

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

    /.+/s