实例代码:获取 [] 里面的内容

Lua版本

    print('-----------------')
for s in string.gmatch('pp[1g1]ppp[1jj2]pp[1413]ppp', '%[(%w+)%]') do
print(s)
end
print('-----------------')

C#版本

        string str=@"[11][12][1413]";
foreach(Match m in Regex.Matches(str,@"\[(\w+)\]"))
{
print(m.Groups[1].Value);
}

下面的表列出了Lua支持的所有字符类:

字符类:(character classes)
. all characters
%a letters
%c control characters
%d digits
%l lower -case letters
%p punctuation characters
%s space characters
%u upper-case letters
%w alphanumeric characters
%x hexadecimal digits
%z the character whose representation is 0

单个字符(除^$()%.[]*+-?外): 与该字符自身配对

.(点): 与任何字符配对
%a: 与任何字母配对
%c: 与任何控制符配对(例如\n)
%d: 与任何数字配对
%l: 与任何小写字母配对
%p: 与任何标点(punctuation)配对
%s: 与空白字符配对
%u: 与任何大写字母配对
%w: 与任何字母/数字配对
%x: 与任何十六进制数配对
%z: 与任何代表0的字符配对
%x(此处x是非字母非数字字符): 与字符x配对. 主要用来处理表达式中有功能的字符(^$()%.[]*+-?)的配对问题, 例如%%与%配对
[数个字符类]: 与任何[]中包含的字符类配对. 例如[%w_]与任何字母/数字, 或下划线符号(_)配对
当上述的字符类用大写书写时, 表示与非此字符类的任何字符配对. 例如, %S表示与任何非空白字符配对.例如,’%A’非字母的字符

‘%’ 用作特殊字符的转义字符,因此 ‘%.’ 匹配点;’%%’ 匹配字符 ‘%’。转义字符 ‘%’不仅可以用来转义特殊字符,还可以用于所有的非字母的字符。当对一个字符有疑问的时候,为安全起见请使用转义字符转义他。

+ 匹配前一字符1次或多次
* 匹配前一字符0次或多次
- 匹配前一字符0次或多次
? 匹配前一字符0次或1次

【更多参考】

Lua的字符串匹配与正则表达式

https://www.cnblogs.com/meamin9/p/4502461.html

正则表达式中文手册

https://github.com/ziishaned/learn-regex/blob/master/translations/README-cn.md

在线测试工具

https://regex101.com/

相关视频

https://www.bilibili.com/video/BV1da4y1p7iZ?from=search&seid=1887659927205983862

C# Lua 获取指定字符中间的字符串 正则表达式获取括号里面的字符串的更多相关文章

  1. [Swift]字符串根据索引获取指定字符,依据ASCII实现字符和整数的相互转换

    ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧 ...

  2. js获取指定字符前/后的字符串简单实例

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. Android(Java) 字符串的常用操作,获取指定字符出现的次数,根据指定字符截取字符串

    /*这是第100000份数据,要截取出100000*/ String s="这是第100000份数据"; String s1 = s.substring(s.indexOf(&qu ...

  4. Lua 用指定字符或字符串分割输入字符串,返回包含分割结果的数组

    // 用指定字符或字符串分割输入字符串,返回包含分割结果的数组 // @function [parent=#string] split // @param string input 输入字符串 // ...

  5. python 获取指定字符前面或后面的所有字符

    要求:获取某个字符指定字符的前面或后面的所有字符内容 示例: URL = https://www.baid/v2/user/login (1)想要获取v2的数据:v2/user/login print ...

  6. JS_正则表达式_获取指定字符之后指定字符之前的字符串

    一个常见的场景,获取:标签背景图片链接: 如字符串:var bgImg = "url(\"https://img30.360buyimg.com/sku/jfs/t26203/26 ...

  7. Qt 字符串截取 获取指定字符位置

    获取字符在字符串中的位置 QString str = "AT+LOC+LOCATION: 115.850441,33.004833"; QString s = "LOC& ...

  8. JS字符串截取(获取指定字符后面的所有字符内容)

    function getCaption(obj){     var index=obj.lastIndexOf("\-");     obj=obj.substring(index ...

  9. js字符串截取(获取指定字符后面的所有字符内容)

    function getCaption(obj, text){ let index = obj.lastIndexOf(text) + text.length-1; obj = obj.substri ...

  10. sql server 小技巧(5) Sql server 获取指定字符后的所有字符 - 去掉指定字符前的所有字符

    select top 10  SUBSTRING( sproductcode, CHARINDEX('-', SProductCode)+1, LEN(SProductCode)) from csmr ...

随机推荐

  1. 【笔记】Python爬虫|网页数据异步加载(结合Selenium完成)

    文章目录 问题描述 1. 结合Selenium.Edge解析该网站搜索页面的数据 2. 结合lxml解析网页数据 3. 附加:不是异步加载的网页,结合requests直接请求数据 问题描述 一些网站会 ...

  2. 深度评测:DeepSeek API 在代码分析与审查中的实战应用 (附 Prompt 示例)

    人工智能(AI)正在深刻改变软件开发的各个环节,从最初的需求分析 1 到最终的部署维护 1,AI 的身影无处不在.尤其在代码编写.分析和审查方面,AI 辅助工具如 GitHub Copilot 8 已 ...

  3. LightGBM算法原理及Python实现

    一.概述   LightGBM 由微软公司开发,是基于梯度提升框架的高效机器学习算法,属于集成学习中提升树家族的一员.它以决策树为基学习器,通过迭代地训练一系列决策树,不断纠正前一棵树的预测误差,逐步 ...

  4. web框架实例

    s5.py from wsgiref.simple_server import make_server def handle_index():     return [b'<h1>Hell ...

  5. 行为模式 -- 观察者模式(Observer)

    Observer(观察者模式) -- 对象行为型模式 别名 依赖,发布-订阅(publish - subscribe) 意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它 ...

  6. RPC的通信流程

    核心原理:能否画张图解释下RPC的通信流程? RPC的全称是Remote Procedure Call,即远程过程调用.RPC帮助我们屏蔽网络编程细节,实现调用远程方法跟调用本地(同一个项目中的方法) ...

  7. Seata源码—6.Seata AT模式的数据源代理

    大纲 1.Seata的Resource资源接口源码 2.Seata数据源连接池代理的实现源码 3.Client向Server发起注册RM的源码 4.Client向Server注册RM时的交互源码 5. ...

  8. Java 自定义线程池的任务

      在<Java 自定义线程池的线程工厂>一文中介绍了如何优雅地自定义线程工厂,本文介绍如何自定义线程池的任务,并拿到返回值.   首先自定义一个任务类,实现Callable接口,重写ca ...

  9. NOIp2020复赛前日志

    NOIp2020复赛前日志 组合数和卢卡斯定理 首先写的顺序别搞错了 从\(n\)个不同元素中取出\(m(m≤n)\)个元素的所有组合的个数 \[C_n^m=\binom nm=C(n,m)=\fra ...

  10. 鸿蒙Next仓颉语言开发实战教程:消息列表

    大家好,今天要分享的是仓颉语言开发商城应用实战教程的消息列表页面. 这个页面的导航栏和之前有所不同,不过难度并没有增加,只是标题移到了左边,我们使用两端对齐方式就能实现,导航栏部分的具体代码如下: R ...