从单词列表中获取有用的单词


Getting the useful words from a word list

我有以下字符串:

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)

使用正则表达式。我自己也不太擅长,但这对我很有用:

$ t

mp  = 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获取更多信息