我想编写一个正则表达式,以字符串 "wp" 开头,以字符串 "php" 结尾,以便在目录中找到一个文件。我该怎么做?
示例文件:wp-comments-post.php
示例文件:wp-comments-post.php
^wp.*php$
匹配。wp-comments-post.php
wp.something.php
wp.php
不匹配
something-wp.php
wp.php.txt
^wp.*\.php$
这个正则表达式应该能解决问题。
其中.*
代表“任意字符,重复0次或更多次”。接下来的.
被转义了,因为它是一个特殊字符,而你需要的是一个字面的句点(".php")。别忘了,如果你在像 C#、Java 等语言中以字符串的形式输入这个表达式,你需要转义反斜杠,因为在许多的语言中它是一个特殊字符。
^wp.+\.php$
唯一的区别是“+”使点“贪婪”。 - Adam Howell+
和 *
都是贪婪的,尽管贪婪性在这种情况下没有影响。它们的区别在于 *
匹配零个或多个字符,而 +
匹配一个或多个字符。因此,如果有人想匹配 "wp.php",他们应该使用 *
;如果他们特别不想匹配它,则应该使用 +
。 - Michelle示例: ajshdjashdjashdlasdlhdlSTARTasdasdsdaasdENDaknsdklansdlknaldknaaklsdn
1)START\w*END
返回:STARTasdasdsdaasdEND - 将给出 START 和 END 之间的单词
2)START\d*END
返回:START12121212END - 将给出 START 和 END 之间的数字
3)START\d*_\d*END
返回:START1212_1212END - 将给出带有下划线的 START 和 END 之间的数字