【问题标题】:Regular expression - starting and ending with a character string正则表达式 - 以字符串开头和结尾
【发布时间】:2013-08-04 03:52:08
【问题描述】:

我想编写一个以字符串“wp”开头并以字符串“php”结尾的正则表达式来定位目录中的文件。我该怎么做?

示例文件:wp-cmets-post.php

【问题讨论】:

标签: regex string


【解决方案1】:

这应该为你做^wp.*php$

匹配

wp-comments-post.php
wp.something.php
wp.php

不匹配

something-wp.php
wp.php.txt

【讨论】:

    【解决方案2】:

    ^wp.*\.php$ 应该可以解决问题。

    .* 表示“任何字符,重复 0 次或多次”。下一个. 被转义,因为它是一个特殊字符,并且您需要一个文字句点(“.php”)。不要忘记,如果您在 C#、Java 等语言中将其作为文字字符串输入,则需要转义反斜杠,因为它是许多文字字符串中的特殊字符。

    【讨论】:

    • 这也应该有效:^wp.+\.php$ 唯一的区别是'+',它使点“贪婪”。
    • @AdamHowell +* 都是贪婪的,尽管在这种情况下贪婪并没有影响。区别在于* 匹配零个或多个字符,而+ 匹配一个或多个字符。所以如果有人想匹配“wp.php”,他们应该使用*;如果他们特别想不匹配,他们应该使用+
    【解决方案3】:

    示例: ajshdjashdjashdlasdlhdlSTARTasdasdsdaasdENDaknsdklansdlknaldknaaklsdn

    1) START\w*END return: STARTasdasdsdaasdEND - 会给你 START 和 END 之间的单词

    2) START\d*END return: START12121212END - 会给你 START 和 END 之间的数字

    3) START\d*_\d*END return: START1212_1212END - 会给你 START 和 END 之间的数字,有 _

    【讨论】:

      猜你喜欢
      • 2017-09-17
      • 2015-04-27
      • 1970-01-01
      • 1970-01-01
      • 2016-12-07
      • 1970-01-01
      • 2022-08-03
      • 2019-07-20
      • 1970-01-01
      相关资源
      最近更新 更多