字符串的正则表达式包含1个字符

时间:2014-03-18 07:16:58

标签: php regex

我需要帮助写一个简单的常规表达。

我的字符串如下:

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个被追踪的(或者只是非空)。

我怎么能这样做?

5 个答案:

答案 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+\)$