gpt4 book ai didi

php - 字符类中的范围乱序

转载 作者:IT王子 更新时间:2023-10-28 23:50:28 26 4
gpt4 key购买 nike

我在 preg_match() 函数中遇到了这个奇怪的错误:

警告:preg_match():编译失败:字符类中偏移量 54 处的范围乱序

导致此问题的行是:

preg_match("/<!--GSM\sPER\sNUMBER\s-\s$gsmNumber\s-\sSTART-->(.*)<!--GSM\sPER\sNUMBER\s-\s$gsmNumber\s-\sEND-->/s", $fileData, $matches);

这个正则表达式的作用是解析一个 HTML 文件,只提取以下部分:

<!--GSM PER NUMBER - 5550101 - START-->

和:

<!--GSM PER NUMBER - 5550101 - END-->

您有什么可能导致此错误的提示吗?

最佳答案

您好,我遇到了同样的错误并已解决:

  Warning: preg_match(): Compilation failed: range out of order in character class at offset <N>

研究阶段:

.. Range out of order .. 所以定义了一个不能使用的范围。

.. 在偏移量 N .. 我快速查看了我的正则表达式模式。 N位是“-”。它用于定义范围,例如“a-z”或“0-9”等。

解决方案

我只是转义了“-”。

 \-    

现在它被解释为字符“-”而不是范围!

关于php - 字符类中的范围乱序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3455985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com