Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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_Pcre - Fatal编程技术网

Php 正则表达式(.*)除了一个字符以外的任何东西

Php 正则表达式(.*)除了一个字符以外的任何东西,php,regex,pcre,Php,Regex,Pcre,我试图在/^(.*?\/$行中匹配具有模式的内容。 但是,因为(.*?已经匹配了/,所以它也匹配了任何东西,但我只希望它匹配任何东西/ 是否有一种很好的方法将/从(.*?或替代解决方案中排除?使用[^\/]: /^([^\/]*)\/$/ 见 在PHP中,您可以避免使用其他分隔符(例如~)在模式中过度跳过: $rx = '~^([^/]*)/$~'; 详细信息: ^-字符串的开头 ([^\/]*)-第1组捕获0个以上字符,而不是/ \/-文字/ $-字符串结束 注意,这个否定字符类不需要

我试图在
/^(.*?\/$
行中匹配具有模式的内容。 但是,因为
(.*?
已经匹配了
/
,所以它也匹配了
任何东西,但我只希望它匹配
任何东西/

是否有一种很好的方法将
/
(.*?
或替代解决方案中排除?

使用
[^\/]

/^([^\/]*)\/$/

在PHP中,您可以避免使用其他分隔符(例如
~
)在模式中过度跳过:

$rx = '~^([^/]*)/$~';
详细信息

  • ^
    -字符串的开头
  • ([^\/]*)
    -第1组捕获0个以上字符,而不是
    /
  • \/
    -文字
    /
  • $
    -字符串结束
注意,这个否定字符类不需要惰性量词
*?
,因为贪婪的
*
更有效

是否有一种很好的方法来排除(.*)或替代解决方案

使用否定字符类:

[^\/]*?

叶,太棒了!将接受作为其他信息的答案:)