从路径mysql php找不到兄弟文件夹和文件

时间:2016-04-05 05:41:58

标签: php mysql regex wordpress

我有一些路径,我想获得的结果只是兄弟文件夹和给定文件夹的文件。例如,我有如下路径

E:\xampp\htdocs\wp1\wp-content\index1.php
E:\xampp\htdocs\wp1\wp-content\index2.php
E:\xampp\htdocs\wp1\wp-content\dark\index1.php
E:\xampp\htdocs\wp1\wp-content\dark\index2.php
E:\xampp\htdocs\wp1\wp-content\dark\php\index1.php
E:\xampp\htdocs\wp1\wp-content\dark\php\index2.php

如果使用wp-content进行搜索,我只需要结果wp-content根文件和文件夹(仅wp-content根文件及其同级文件夹dark

E:\xampp\htdocs\wp1\wp-content\index1.php
E:\xampp\htdocs\wp1\wp-content\index2.php
E:\xampp\htdocs\wp1\wp-content\dark\index1.php
E:\xampp\htdocs\wp1\wp-content\dark\index2.php

如果用黑暗搜索。我想要结果dark单独的根文件和文件夹,如下面的

E:\xampp\htdocs\wp1\wp-content\dark\index1.php
E:\xampp\htdocs\wp1\wp-content\dark\index2.php
E:\xampp\htdocs\wp1\wp-content\dark\php\index1.php
E:\xampp\htdocs\wp1\wp-content\dark\php\index2.php


SELECT * FROM table WHERE  file REGEXP 'wp-content[*\\{2,3}]'

我试过上面这样做不起作用。 我希望匹配wp-content之后的匹配(搜索文件夹)只有1 or 2 not more than that斜杠应该在那里。

1 个答案:

答案 0 :(得分:1)

[]内的字符是一个字符集,表示下一个字符必须匹配其中一个字符(或量词指定的任何数字)。 您的正则表达式检查文字wp-content后面跟着其中一个字符*\{2,{{1 }},,3

你想要的可能是

}

会检查您的字符串wp-content\\[^\\]+(\\[^\\]+)?$ ,然后是wp-content,其后后跟字符\({{1}在字符类中否定它)。

然后可选后面可以跟着另一个\后跟而不是成为^的字符。

最后,它必须与文字的结尾匹配 - \

See it at regex101 here

此致