正则表达式 - 以字符字符串开头和结尾

113
我想编写一个正则表达式,以字符串 "wp" 开头,以字符串 "php" 结尾,以便在目录中找到一个文件。我该怎么做?
示例文件:wp-comments-post.php

5
这里有一个不错的教程:http://www.regular-expressions.info/tutorial.html。 - Casimir et Hippolyte
为什么要使用正则表达式?在查找文件时,您不想使用通配符吗? - Tim Pietzcker
3
你如何使用通配符来完成它? - Ken Shoufer
3个回答

160
这应该是对你有用的正则表达式: ^wp.*php$ 匹配。
wp-comments-post.php
wp.something.php
wp.php

不匹配

something-wp.php
wp.php.txt

59

^wp.*\.php$这个正则表达式应该能解决问题。

其中.*代表“任意字符,重复0次或更多次”。接下来的.被转义了,因为它是一个特殊字符,而你需要的是一个字面的句点(".php")。别忘了,如果你在像 C#、Java 等语言中以字符串的形式输入这个表达式,你需要转义反斜杠,因为在许多的语言中它是一个特殊字符。


1
这个也应该可以工作:^wp.+\.php$唯一的区别是“+”使点“贪婪”。 - Adam Howell
13
+* 都是贪婪的,尽管贪婪性在这种情况下没有影响。它们的区别在于 * 匹配零个或多个字符,而 + 匹配一个或多个字符。因此,如果有人想匹配 "wp.php",他们应该使用 *;如果他们特别不想匹配它,则应该使用 + - Michelle

14

示例: ajshdjashdjashdlasdlhdlSTARTasdasdsdaasdENDaknsdklansdlknaldknaaklsdn

1)START\w*END 返回:STARTasdasdsdaasdEND - 将给出 START 和 END 之间的单词

2)START\d*END 返回:START12121212END - 将给出 START 和 END 之间的数字

3)START\d*_\d*END 返回:START1212_1212END - 将给出带有下划线的 START 和 END 之间的数字


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接