为什么 preg_quote() 下带有 __FILE__ 的模式与目录路径不匹配?

Why this pattern with __FILE__ under preg_quote() is not matching the directory path?

此模式 __FILE__preg_quote( $str, '/' )

/^C\:\xampp\apps\wordpress\htdocs\wp\-content\themes\themename\inc\fonts\/uploads\/[^\/\]+(\/|\)/

不匹配此目录路径

C:\xampp\apps\wordpress\htdocs\wp-content\themes\themename\inc\fonts/uploads\BELLABOO\

此处(只排除BELLABOO\BELLABOO-Regular.otf

C:\xampp\apps\wordpress\htdocs\wp-content\themes\themename\inc\fonts/uploads\BELLABOO\BELLABOO\BELLABOO-Regular.otf

但是在使用自定义模式执行此操作时,它匹配:

$pattern = '/.+inc(\/|\\)fonts(\/|\\)uploads(\/|\\)[^\/\\]+(\/|\\)/';
// $pattern = '/^C\:\xampp\apps\wordpress\htdocs\wp\-content\themes\themename\inc\fonts\/uploads\/[^\/\]+(\/|\)/'; Not working!
preg_match( $pattern, $font_path, $matches );
echo $matches[0]; // C:\xampp\apps\wordpress\htdocs\wp-content\themes\themename\inc\fonts/uploads\BELLABOO\

如何让它与第一个模式一起工作?

更改模式:

/^C\:\xampp\apps\wordpress\htdocs\wp\-content\themes\themename\inc\fonts\/uploads\/[^\/\]+(\/|\)/

与:

/^C\:\xampp\apps\wordpress\htdocs\wp\-content\themes\themename\inc\fonts\/uploads\[^\/\]+(\/|\)/