C# Lua 获取指定字符中间的字符串 正则表达式获取括号里面的字符串
实例代码:获取 [] 里面的内容
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 获取指定字符中间的字符串 正则表达式获取括号里面的字符串的更多相关文章
- [Swift]字符串根据索引获取指定字符,依据ASCII实现字符和整数的相互转换
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧 ...
- js获取指定字符前/后的字符串简单实例
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Android(Java) 字符串的常用操作,获取指定字符出现的次数,根据指定字符截取字符串
/*这是第100000份数据,要截取出100000*/ String s="这是第100000份数据"; String s1 = s.substring(s.indexOf(&qu ...
- Lua 用指定字符或字符串分割输入字符串,返回包含分割结果的数组
// 用指定字符或字符串分割输入字符串,返回包含分割结果的数组 // @function [parent=#string] split // @param string input 输入字符串 // ...
- python 获取指定字符前面或后面的所有字符
要求:获取某个字符指定字符的前面或后面的所有字符内容 示例: URL = https://www.baid/v2/user/login (1)想要获取v2的数据:v2/user/login print ...
- JS_正则表达式_获取指定字符之后指定字符之前的字符串
一个常见的场景,获取:标签背景图片链接: 如字符串:var bgImg = "url(\"https://img30.360buyimg.com/sku/jfs/t26203/26 ...
- Qt 字符串截取 获取指定字符位置
获取字符在字符串中的位置 QString str = "AT+LOC+LOCATION: 115.850441,33.004833"; QString s = "LOC& ...
- JS字符串截取(获取指定字符后面的所有字符内容)
function getCaption(obj){ var index=obj.lastIndexOf("\-"); obj=obj.substring(index ...
- js字符串截取(获取指定字符后面的所有字符内容)
function getCaption(obj, text){ let index = obj.lastIndexOf(text) + text.length-1; obj = obj.substri ...
- sql server 小技巧(5) Sql server 获取指定字符后的所有字符 - 去掉指定字符前的所有字符
select top 10 SUBSTRING( sproductcode, CHARINDEX('-', SProductCode)+1, LEN(SProductCode)) from csmr ...
随机推荐
- TVM:使用调度模板和AutoTVM优化算子
本节学习如何使用TVM 张量表达式(TE)语言来编写调度模板,这些模板可以被autoTVM搜索到,以找到最佳调度.这个过程称为auto-Tuning,它有助于优化张量计算的自动化过程. 本节建立在如何 ...
- codeup之分数序列求和
Description 有如下分数序列 求出次数列的前20项之和. 请将结果的数据类型定义为double类型. Input 无 Output 小数点后保留6位小数,末尾输出换行. Sample Inp ...
- 记录一次自己用 AI 写IOS APP的经历
我是几乎没有移动端开发经验的.仅有的一点安卓开发经验还是十几年前没毕业的时候自己瞎折腾. 故事的起源是每天辅导我儿子功课时的暴跳如雷. 我儿子上一年级了,在语文的生词上落后得非常严重(当然可能是他同学 ...
- 技术分享:主流GUI自动化框架的窗口置顶机制实现对比
前言 在自动化测试和RPA开发过程中,窗口置顶是一个常见且关键的需求.无论是确保测试窗口始终可见,还是保证自动化操作的准确性,各大Python自动化框架都提供了相应的窗口置顶功能.本文将深入分析主流框 ...
- 关于打高版本java,cc6复现
关于打高版本java,cc6复现 从上一篇的cc1中我们发现他不能作用在jdk_8u71以上的版本,因此;为了解决这个问题,引入了cc6 之所以不能用cc1打高版本,是由于在Java 8u71以后, ...
- 详解鸿蒙Next仓颉开发语言中的动画
大家上午好,今天来聊一聊仓颉开发语言中的动画开发. 仓颉中的动画通常有两种方式,分别是属性动画和显示动画,我们今天以下面的加载动画为例,使用显示动画和属性动画分别实现一下,看看他们有什么区别. 显示动 ...
- 钓鱼攻击(phishing)详解和实现过程
钓鱼攻击 定义:钓鱼攻击是一种常见的网络攻击手段,攻击者通过伪装成合法的网站.邮件或信息,诱骗用户提供敏感信息,如用户名.密码.银行卡号等,从而达到非法获取用户数据或进行欺诈的目的. 网络钓鱼(phi ...
- HarmonyOS运动开发:打造便捷的静态快捷菜单
鸿蒙核心技术##运动开发# 前言 在运动类应用中,用户往往需要快速访问常用功能,如查看成绩.赛事信息或开始运动.为了提升用户体验,鸿蒙(HarmonyOS)提供了静态快捷菜单功能,允许用户从桌面直接跳 ...
- windows下操作kubernetes集群
一.下载二进制文件 下载windows下kubectl的客户端,这里根据我们集群的版本进行客户端版本的选择: #下载地址如下 https://storage.googleapis.com/kubern ...
- 从 DeepSeek 突然爆发,看数据开发的应用市场
在数字化快速发展的当下,人工智能与数据技术不断迭代.近期,DeepSeek 凭借自身技术实力在市场中迅速崛起,为剖析数据开发应用市场提供了视角. DeepSeek 爆发:技术与市场的双重驱动 1.1 ...