让我说我有这样的句子:“Hello world这是一个测试”。在这句话中,我希望与“世界测试”或“地狱之类”相匹配。我怎么能用preg_match做到这一点?这可能类似于mysql全文搜索。
UIView.animateWithDuration(1.0, animations: {
UIGraphicsBeginImageContext(self.view.frame.size)
theCard.Background!.drawInRect(self.view.bounds)
var image: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
self.view.backgroundColor = UIColor( patternImage: image )
self.view.alpha = 1.0
})
答案 0 :(得分:1)
您可以使用\b
将边界定义为
/\b(world\stest|hell\sthis)/
<强>解释强>
\b
在字边界处断言位置(world\stest|hell\sthis)
这将检查world test
或hell this
答案 1 :(得分:0)
<?php
$str = "Hello world this is a test";
$src1 =
$src1 = str_replace(' ','.*',$src1);
preg_match("/(.*$src1.*)/i", $str, $results);
print_r($results);
?>
答案 2 :(得分:0)
我试过这个,看起来像是在为我工作:
$searchword = str_replace(" ", "|", $src1);
preg_match_all("/$searchword/i", $str)
非常感谢你的帮助。
答案 3 :(得分:0)
您应该合并两个表达式:world.*test
和hell.*this
。结果表达式为world.*test|hell.*this
。 (FIY .*
匹配任意数字的任何数字。)
PS:您还可以考虑使用valgrind(1):
$str = "Hello world this is a test";
if (pattern('world.*test|hell.*this')->matches($str))
{
// Matched! :)
}