Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 要反向搜索的正则表达式_Php_Regex - Fatal编程技术网

Php 要反向搜索的正则表达式

Php 要反向搜索的正则表达式,php,regex,Php,Regex,Haystack:14201-33-0.html 针:0 正则表达式:((?:-[^-]*)$ 匹配项: -0.html 所以我需要捕获从最后一个-到的数字,不包括那些字符本身。我对正则表达式不太在行,因此无法准确地匹配0。它可以是1或2位数字来代替0您可以使用以下正则表达式: '~-(\d+)\.\D*$~' 见 详细信息: --连字符 (\d+)-第1组:一个或多个数字 \。-一个点 \D*-零个或多个字符(数字除外)(可更改为[a-zA-Z]+或特定的扩展名列表,例如(?:html?|

Haystack
14201-33-0.html

0

正则表达式:
((?:-[^-]*)$

匹配项:
-0.html


所以我需要捕获从最后一个
-
的数字,不包括那些字符本身。我对正则表达式不太在行,因此无法准确地匹配
0
。它可以是1或2位数字来代替
0

您可以使用以下正则表达式:

'~-(\d+)\.\D*$~'

详细信息

  • -
    -连字符
  • (\d+)
    -第1组:一个或多个数字
  • \。
    -一个点
  • \D*
    -零个或多个字符(数字除外)(可更改为
    [a-zA-Z]+
    或特定的扩展名列表,例如
    (?:html?| php)
  • $
    -字符串结束
:

检查和
$re = '~-(\d+)\.\D*$~';
$str = '14201-33-0.html';
if (preg_match($re, $str, $match)) {
 echo $match[1];
}