我有以下字符串:
Over/Under 1.5
Over/Under 2.5
Over/Under 3.5
Over/Under 4.5
This is not Over/Under 1.5
Other text
对我来说,有效的文本是以下
Over/Under 1.5
Over/Under 2.5
Over/Under 3.5
Over/Under 4.5
Over/Under X.X
其中X.X
是一个数字。
如何判断是否为有效字符串?
This es not Over/Under 1.5
是否匹配?如果是这样:
$words = array('Over/Under 1.5',
'Over/Under 2.5',
'Over/Under 3.5',
'Over/Under 4.5',
'This es not Over/Under 1.5',
'Other text');
foreach ($words as $word) {
if (preg_match('#.*Over/Under 'd'.'d.*#', $word)) {
echo "Match $word'n";
}
}
如果不是,将preg_match更改为
preg_match('#^Over/Under 'd'.'d$#', $word);
像@Tokk一样,如果字符串应该匹配Over或Under,那么您需要更改为OR - |
preg_match('#^(Over|Under) 'd'.'d$#', $word);
if(preg_match('/Over'/Under 'd'.'d/', $str)) {
}
检查是否匹配Regex
Over/Under [0-9]*.[0-9]*
(Over OR Under)选择(Over|Under)
使用正则表达式。我自己也不太擅长,但这对我很有用:
$ tmp = array
(
"Over/Under 1.5",
"Over/Under 2.5",
"Over/Under 3.5",
"Over/Under 4.5",
"Over/Under 5.5",
"fdgdfgdf",
"Other"
);
$tmp2 = array_filter($tmp, function($element) { return preg_match('(Over'/Under [0-9]'.[0-9])', $element); });
print_r($tmp2);
http://php.net/manual/en/function.preg-match.php获取更多信息