我需要帮助写一个简单的常规表达。
我的字符串如下:
13.03.2014 12:07:00;13.03.2014 00:00:00;Refund;4446633804;RUB;0.01;test 374383457;9645282;13.03.2014 12:05:31;1122;1122;88282;
我需要检查每一列(;
)是否包含至少1个被追踪的(或者只是非空)。
我怎么能这样做?
答案 0 :(得分:1)
if (! preg_match("^\s*;|;\s*;", $input)) {
echo "No empty columns!"
}
这只是验证$input
不以分号开头,并且没有两个连续的分号(可能用空格分隔)。
答案 1 :(得分:0)
你觉得这样的事吗?
^([^;]+;)*$
//非零非分号字符和从开头到结尾重复的一个分号?
它也匹配为空并且最后需要分号。 这就是你想要的吗?
答案 2 :(得分:0)
一种方法是使用PHP explode函数将字符串转换为数组。然后,您可以遍历数组并使用简单的正则表达式检查每个值。
$cols = explode(";", $myrecord);
$matched = preg_match('/.+/',$cols[0]);
如果元素包含至少一个字符,则$ matched将被赋值为1。
如果你需要对每个元素执行相同的测试,那么将循环放在数组中。
答案 3 :(得分:0)
只需;;
即可。检查是否存在,这意味着您的一列是空的
答案 4 :(得分:-2)
查看此正则表达式
^\(\S+\)$