如何编写 PHP 正则表达式来检测字符串不为空?
空意味着,在本例中为 0 个字符。例如,单个空格或单个换行符算作非空。
(它必须是适合 preg_match() 的正则表达式,因为我有一个包含各种正则表达式的查找表,并且不想以任何特殊方式处理这种情况,所以在这里不使用正则表达式会使代码变得复杂。)
更新:
出于悲伤的原因,我也不能在
//
之外使用任何正则表达式修饰符,例如“s”。
致反对票的人:问题是不是太简单了?还是不够清楚?
/[\s\S]/
匹配任何字符,即使您无法使用
/s
修饰符。
您不需要量词 (
+
),因为如果一个字符匹配,则条件已满足。
只是一个想法(至少匹配任何一个):
/.{1,}/
/.+/
或者,甚至更完整的版本(包括@BartKiers对
newline
支持的建议),其中s
修饰符导致.
元字符也匹配\r
和\n
:
/.+/s
/[\w\W]/
,/[\s\S]/
,/[\d\D]/
。/(?!=\z)/
或 /(?!=$)/D
Any
类:/\p{Any}/u
,也匹配换行符/./s
.
和换行符:/.|\n/