当前位置:首页>python>python正则表达式库re

python正则表达式库re

  • 2026-07-02 15:23:31
python正则表达式库re

Python 标准库 re 提供了四个核心函数,覆盖了从简单查找到批量提取的全部场景。理解它们的区别比背语法更重要,因为选错函数会让代码既慢又难读。下面这张表帮你快速定位该用哪个。

功能名称

实例调用方法

具体功能与注意事项

全文搜索

re.search(pattern, string)

扫描整个字符串返回第一个Match对象,未匹配返回None

开头匹配

re.match(pattern, string)

仅从位置0开始匹配,等价于正则前加^,多行文本易误用

批量提取

re.findall(pattern, string)

返回所有匹配的列表,有捕获组时只返回组内容而非完整匹配

迭代匹配

re.finditer(pattern, string)

返回Match对象迭代器,内存友好且可访问分组、位置等完整信息

下面是解析华为设备接口状态的完整示例,展示四个函数的正确使用方式:

import re  # 导入标准正则模块,Python内置无需额外安装# 模拟display interface brief输出,包含多个接口状态行output = """GigabitEthernet0/0/1   up    up    0.01%  0.02%GigabitEthernet0/0/2   down  down  0%     0%Vlanif100              up    up    --     --"""try:    # search扫描全文找第一个up接口,适合判断是否存在或取首条记录    first_up = re.search(r"(\S+)\s+up\s+up", output)    if first_up:  # 必须判空,未匹配时返回None直接调group会报错        print(f"首个UP接口: {first_up.group(1)}")  # group(1)取第一个捕获组    # match只从字符串位置0开始匹配,这里因开头是换行符所以失败    head = re.match(r"(\S+)\s+up", output)    print(f"match结果: {head}")  # 输出None,说明match不适合多行文本查找    # findall提取所有接口名和双up状态,有捕获组时返回元组列表    all_ifs = re.findall(r"(\S+)\s+(up|down)\s+(up|down)", output)    for name, phy, proto in all_ifs:  # 解包每个元组的三个捕获组        print(f"接口:{name} PHY:{phy} Proto:{proto}")    # finditer返回迭代器,适合大文本逐条处理避免一次性加载全部结果到内存    for m in re.finditer(r"(\S+)\s+up\s+up", output):        print(f"UP接口详情: {m.group(0)}")  # group(0)获取完整匹配文本except re.error as e:    print(f"正则语法错误: {e}")  # 模式写错时抛出此异常,需检查语法except Exception as e:    print(f"运行时异常: {e}")  # 其他意外情况兜底捕获

这一节讲了 re 模块四个核心函数的定位差异和使用规范,重点强调 search 优于 match、返回值必须判空、finditer 比 findall 更灵活这三个实战要点。

元字符体系与量词语义

re 的语法骨架由元字符和量词构成。元字符定义"匹配什么",量词定义"匹配多少次"。这两块搞扎实了,80% 的设备输出解析需求都能覆盖。下面这张表列出了网络工程师最常用的元素及其行为细节。

语法元素

含义

Python re中的关键行为

\d \w \s

数字/单词字符/空白

默认Unicode模式\w包含中文,加re.ASCII仅匹配英文字母数字下划线

.

任意字符(除换行)

加re.DOTALL标志后才匹配\n,跨行提取必备

* + ?

贪婪量词

默认尽可能多匹配,后接?变非贪婪模式

{m,n}

区间量词

{3,}至少3次,{,5}至多5次,{3}恰好3次

^ $

锚点

默认匹配字符串首尾,re.MULTILINE下匹配每行开头结尾

\b

单词边界

零宽断言不消耗字符,匹配\w与\W之间的位置

下面是验证上述元素在设备输出解析中实际行为的示例:

import re  # 导入标准正则模块用于演示元字符行为log = "2024-03-15 10:22:01 ERROR BGP peer 192.168.1.1 down"try:    # \d匹配单个数字,{4}精确限定年份位数避免误匹配其他数字串    date_match = re.search(r"\d{4}-\d{2}-\d{2}", log)    if date_match:        print(f"日期: {date_match.group()}")  # 输出2024-03-15    # \b确保只匹配独立IP地址,不会把192.168.1.10误截为192.168.1.1    ip_match = re.search(r"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b", log)    if ip_match:        print(f"IP地址: {ip_match.group()}")  # 输出192.168.1.1    # 非贪婪.*?遇到第一个空格就停止,贪婪.*会吞掉ERROR导致提取错误    level = re.search(r"\d{2}:\d{2}:\d{2}\s+(.*?)\s+", log)    if level:        print(f"日志级别: {level.group(1)}")  # 输出ERROR    # re.MULTILINE让^$匹配每行开头结尾,适合多行日志逐行提取错误信息    multi_log = "INFO start\nERROR fail\nINFO end"    errors = re.findall(r"^ERROR (.+)$", multi_log, re.MULTILINE)    print(f"错误信息: {errors}")  # 输出['fail']except re.error as e:    print(f"正则语法错误: {e}")  # 模式语法有误时捕获并提示except Exception as e:    print(f"处理异常: {e}")  # 兜底捕获其他运行时问题

这一节梳理了 re 元字符和量词的核心语义,重点区分了贪婪与非贪婪、. 的模式依赖、\b 的零宽特性,这些是写出正确正则的地基。

编译复用与标志位管理

当同一个正则在循环或高频调用中反复使用时,re.compile() 能把模式预编译为可复用对象,避免重复解析开销。同时,标志位的组合使用能让同一个模式适应不同场景。下面这张表列出了常用标志位及其适用场景。

功能名称

实例调用方法

具体功能与注意事项

预编译模式

re.compile(pattern, flags)

返回Pattern对象,支持search/match/findall等方法

忽略大小写

re.IGNORECASE 或 re.I

匹配时不区分大小写,适合设备型号、协议名等

多行模式

re.MULTILINE 或 re.M

^$匹配每行首尾而非整个字符串首尾

点号全匹配

re.DOTALL 或 re.S

.匹配包括\n在内的任意字符,跨行提取必备

ASCII模式

re.ASCII 或 re.A

\w\d\s仅匹配ASCII字符,避免中文干扰

下面是编译复用与标志位组合使用的示例:

import re  # 导入标准正则模块# 模拟多条设备日志,包含大小写混合和多行内容logs = """[ERROR] Interface GE0/0/1 is DOWN[info] OSPF neighbor 10.0.0.1 state changed[Error] BGP session reset by peer"""try:    # compile预编译模式,后续循环调用避免重复解析正则表达式    error_pattern = re.compile(        r"^\[(error)\]\s+(.+)$",  # 捕获日志级别和内容两个组        re.MULTILINE | re.IGNORECASE  # 多行模式+忽略大小写组合    )    # 用编译后的对象调用finditer,逐条处理节省内存    for m in error_pattern.finditer(logs):        level = m.group(1).upper()  # 统一转为大写便于后续判断        msg = m.group(2).strip()  # 去除内容两端空白        print(f"[{level}{msg}")    # DOTALL标志让.匹配换行符,适合提取跨行配置块    config = "interface GE0/0/1\n description TO-Core\n ip address 10.0.0.1 24"    block = re.search(r"interface.*?address.+", config, re.DOTALL)    if block:        print(f"配置块: {block.group()}")except re.error as e:    print(f"正则语法错误: {e}")  # compile阶段就会暴露语法问题except Exception as e:    print(f"运行异常: {e}")  # 兜底捕获未预期的错误

这一节讲了 re.compile() 的性能价值和标志位的组合用法,重点是预编译避免重复开销、多标志位按位或组合、编译阶段即可发现语法错误这三个工程要点。

注意事项与工程落地建议

正则选型不是技术问题,是工程决策。把这些经验刻进脑子里,比纠结语法细节更有价值。

  • 新项目永远从 re 起步:别预判自己需要高级特性。先用 re 写,真撞墙了再考虑其他方案,标准库的稳定性是第三方库无法比拟的。过早优化是万恶之源。

  • 返回值永远是 None 或 Match 对象search 和 match 未匹配时返回 None,直接调 .group() 会抛 AttributeError。每次使用前必须做 if match: 判空,这条值得重复三遍。

  • 原始字符串 r"" 是铁律:正则里大量反斜杠,普通字符串会被 Python 先转义一轮。\d 变成 \\d 就废了。养成写正则必加 r 前缀的肌肉记忆。

  • 解析结构化数据优先考虑专用工具:JSON 用 json,XML 用 xml.etree,路由表用 TextFSM。正则是最后的兜底手段,不是首选。用正则解析 JSON 的人迟早会在嵌套转义上翻车。

  • 性能瓶颈先 profiling 再优化:觉得慢不一定是正则的问题。用 timeit 确认瓶颈确实在匹配上,再考虑改写模式或预编译。盲目重构解决不了真正的问题。

  • 团队代码统一用 re:别混用多种正则库,会导致审查和维护噩梦。在项目规范里明确约定,除非有充分理由并记录在案,否则一律用标准库。

  • 网络工程师的核心竞争力不是正则语法:是把业务需求转化为可靠自动化方案的能力。正则只是工具箱里的一把扳手,会用就行,不必成为扳手收藏家。把省下来的精力投入到理解协议、设计架构、完善错误处理上,回报率高得多。

  • 极端场景遇到瓶颈了可以用 regex 库但是非必要不用:它是 C 扩展模块,安装兼容性和维护成本都是隐患,只有当 re 确实无法满足且经过充分验证后才考虑引入。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 03:54:01 HTTP/2.0 GET : https://f.mffb.com.cn/a/496234.html
  2. 运行时间 : 0.126125s [ 吞吐率:7.93req/s ] 内存消耗:4,353.79kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=450989191d40ecde27c03f78021c2d60
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000612s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000728s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000276s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.009303s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000544s ]
  6. SELECT * FROM `set` [ RunTime:0.000201s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000568s ]
  8. SELECT * FROM `article` WHERE `id` = 496234 LIMIT 1 [ RunTime:0.000464s ]
  9. UPDATE `article` SET `lasttime` = 1783022041 WHERE `id` = 496234 [ RunTime:0.006626s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000278s ]
  11. SELECT * FROM `article` WHERE `id` < 496234 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000444s ]
  12. SELECT * FROM `article` WHERE `id` > 496234 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000442s ]
  13. SELECT * FROM `article` WHERE `id` < 496234 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000805s ]
  14. SELECT * FROM `article` WHERE `id` < 496234 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.013924s ]
  15. SELECT * FROM `article` WHERE `id` < 496234 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.015461s ]
0.127706s