惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
B
Blog RSS Feed
美团技术团队
博客园 - 【当耐特】
C
Check Point Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 司徒正美
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
N
Netflix TechBlog - Medium
Vercel News
Vercel News
P
Proofpoint News Feed
IT之家
IT之家
I
InfoQ
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More

Yesterday17's Blog

2026 新年解密红包 / Melody Flag | Yesterday17's Blog 谈谈 Iori 的设计思路(二):如何实现一个 Showroom 录制工具? | Yesterday17's Blog 谈谈 Iori 的设计思路(一):从 Nico Timeshift 说起 | Yesterday17's Blog Iori Minyami 0.1.0 发布 | Yesterday17's Blog 2025 新年解密红包 / Melody Flag | Yesterday17's Blog 使用 Cloudflare Warp 解决罗森票务的海外登录问题 | Yesterday17's Blog How To Blog 04: The Astro v5 Era | Yesterday17's Blog 谈谈 tokio::select! 的公平性 | Yesterday17's Blog Learning Pingora 05 - Connect with TLS | Yesterday17's Blog Leaving Bytedance | Yesterday17's Blog 大橋彩香 AsiaTour「Reflection」上海公演 个人向记录 & Repo | Yesterday17's Blog Recoving from burnout - What happened? | Yesterday17 Yubikey 重建手册 | Yesterday17's Blog How To Blog 03: Heimus | Yesterday17's Blog 🪧 Blog Migration Accouncement | Yesterday17's Blog Learn Your IDE - VSCode 是如何仅重启插件的? | Yesterday17's Blog How To Blog 02: Astro❤️Password | Yesterday17's Blog How To Blog 01: Why, How, and the Future | Yesterday17's Blog Learning Pingora 04 - Establish L4 Connection | Yesterday17's Blog Learning Pingora 03 - Upstreams and Peers | Yesterday17's Blog Learning Pingora 02 - A Simple HTTP Server | Yesterday17's Blog Learning Pingora 01 - Getting Started | Yesterday17's Blog 2024 新年解密红包 / Melody Flag | Yesterday17's Blog 向新的一年飞驰——记录 2023 | Yesterday17's Blog 「サクラノ刻」对话选摘(2) | Yesterday17's Blog PGP Key Revocation 注销声明 | Yesterday17's Blog 「サクラノ刻」对话选摘(1) | Yesterday17's Blog 2023 新年解密红包 / Melody Flag | Yesterday17's Blog 『蒼の彼方のフォーリズム』通关感想 | Yesterday17's Blog 单显卡直通教程 | Yesterday17's Blog
Lua Pattern 简介 | Yesterday17's Blog
Yesterday17 · 2020-03-23 · via Yesterday17's Blog

Published:  at  02:16

话不多说,这部分是作为之后某一篇文章的前置而出现的。

LuaPattern 和正则表达式有相似之处,但也有所不同。本文力图简短地介绍 Pattern 和可以用到 Pattern 的函数,为之后的使用打好基础。


回顾正则表达式

简单的正则表达式语法如下:

  • abc:表示匹配 abc
  • a*:表示匹配零个或多个 a
  • a+:表示匹配一个或多个 a
  • [abc]:表示匹配 abc 任一
  • a{10,}:表示匹配 10~a
  • a?:表示可选匹配 a
  • \?:表示匹配 ?,此处使用 \ 转义
  • ^$:表示开始和结束

对应的 Pattern

Lua 的 Pattern 是弱化版的正则表达式,但其也可以满足大部分需求了。

  • abc:表示匹配 abc
  • a*贪婪匹配零个或多个 a
  • a-非贪婪匹配零个或多个 a
  • a+:表示匹配一个或多个 a
  • [abc]:表示匹配 abc 任一
  • a?:表示可选匹配 a
  • %?:表示匹配 ?,此处使用 % 转义
  • ^$:表示开始和结束

此外,还有一些额外的功能:

  • %n:匹配第 n 个捕获组,n1-9
  • %bxy:匹配 x y 平衡组,常用于括号平衡匹配