我的PHP正则表达式不起作用


My PHP Regex isn't working

我真的很陌生,我以前只见过它,这是我第一次尝试。我正在尝试获取任何以"照片"开头并以句点结尾的句子。我想我不知道如何用"." 结束正则表达式搜索。这是我到目前为止得到的:

(^[Photo]{5}[a-zA-Z0-9'w'W]*['.]$)

我希望它能够从这个字符串中提取以照片开头的句子:

This is some text. Photo is by you. Some more text. Photo created by me. Some more text. Photo via the internet.

编辑-我正在做的是编写一个 php 函数,该函数将提取以"photo"开头并以句点结尾的字符串。我想让该字符串成为一个变量,以便我可以将其与图片一起保留。问题是作者可能与它不一致。他们有时会放"按某个名字拍摄的照片"或"照片由某个名字提供"或"按某个名字提供的照片"。

提前谢谢你!

^$匹配整个字符串的开头和结尾,而不是句子。我会用'.?'s+而不是^,用'.而不是$

[Photo]单独匹配字符,所以这就像说"匹配'P'或'h'或'o'......"你想要的是(Photo)Photo's.

我还添加了不商定的标志U

因此,通过这些更改,此正则表达式应该可以工作

/('.?'s+(Photo's[a-zA-Z0-9'w'W]*'.))/U

从您需要的照片开始

 ^photo

以句点结尾,您需要

 '.$

要填补空白,您需要任何字符

 .*

所以正则表达式是

^photo.*'.$