【发布时间】:2013-08-27 13:46:01
【问题描述】:
我正在寻找一种方法,以便我的 php 脚本在它搜索的字符串中包含以该确切顺序的点后的某些字符时可以给出真或假。
例如:
我的字符串是:.htpassword
只有当我的脚本在我的数组中找到包含点后跟一些字母字符并且仅按该顺序排列的字符串时,它才会返回 true。
我已经研究了 strpos() 函数,但这不符合我的需要,因为我有一些文件包含字符后带有点的字符。
有效匹配:
- (点)(后跟字母表中的任何字符)
无效匹配:
- (点)(点)(后跟字母表中的任何字符)
- (一些字符)(点)(一些字符)
到目前为止我写的脚本:
$arr_strings = $this->list_strings();
$reg_expr_dot = '/\./';
$match = array();
foreach ($arr_strings as $string) {
if (preg_match_all($reg_expr_dot, $file, $match) !== FALSE) {
echo "all strings: </br>";
echo $match[1] . "</br></br>";
}
}
提前感谢您的帮助!
亲切的问候
【问题讨论】:
-
“包含一个点,后跟一些字符”。什么字符?非点?任何字符?点前面的字符呢?
-
向我们展示一个有效匹配的示例,以及一个无效匹配的示例
-
@Dave 如果搜索结果包含 PHP 正则表达式风格的文档,您的评论可能非常有价值。这样,您建议任何正则表达式引用都可以。
-
当然,这里有一个直接的参考:php.net/manual/en/reference.pcre.pattern.syntax.php