Unity3D日常开发】(二十六)Unity3D中使用正则表达式

网友投稿 974 2022-05-30

推荐阅读

CSDN主页

GitHub开源地址

Unity3D插件分享

简书地址

我的个人博客

QQ群:1040082875

一、前言

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

【Unity3D日常开发】(二十六)Unity3D中使用正则表达式

许多程序设计语言都支持利用正则表达式进行字符串操作。

例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

二、Unity使用正则表达式

匹配正整数:

using System.Text.RegularExpressions; using UnityEngine; public class Regex_Test : MonoBehaviour { void Start() { string temp = "123"; Debug.Log(IsNumber(temp)); } ///

///匹配正整数 /// /// /// public bool IsNumber(string strInput) { Regex reg = new Regex("^[0-9]*[1-9][0-9]*$"); if (reg.IsMatch(strInput)) { return true; } else { return false; } } }

结果:

匹配大写字母

using System.Text.RegularExpressions; using UnityEngine; public class Regex_Test : MonoBehaviour { void Start() { string temp = "ABC"; Debug.Log(IsNumber(temp)); } ///

///匹配由26个英文字母的大写组成的字符串 /// /// /// public bool IsCapital(string strInput) { Regex reg = new Regex("^[A-Z]+$"); if (reg.IsMatch(strInput)) { return true; } else { return false; } } }

结果:

三、Regex 类

Regex 类用于表示一个正则表达式。

下表列出了 Regex 类中一些常用的方法:

如需了解 Regex 类的完整的属性列表,请参阅微软的 C# 文档。

四、常用正则表达式

^-?\d+$     //匹配整数(包含正负整数) ^(-?\d+)(\.\d+)?$  //匹配浮点数(包含正负浮点数) ^[A-Za-z]+$   //匹配26个英文字母(包含大小写) ^[A-Z]+$   //匹配由26个英文字母(大写) ^[a-z]+$   //匹配由26个英文字母(小写) ^[A-Za-z0-9]+$   //匹配由数字和26个英文字母组成的字符串 ^\w+$   //匹配由数字、26个英文字母或者下划线组成的字符串 \S{6,} //不能为空 六位以上 [^\x00-\xff] //匹配双字节字符(包括汉字在内) \d+\.\d+\.\d+\.\d+ //匹配ip地址

五、实例

实例 1 、匹配以 ‘m’ 开头以 ‘e’ 结尾的单词

using System.Text.RegularExpressions; using UnityEngine; public class Regex_Test : MonoBehaviour { void Start() { string temp = "make maze and manage to measure it"; MatchStr(temp); } public void MatchStr(string str) { Regex reg = new Regex(@"\bm\S*e\b"); MatchCollection mat = reg.Matches(str); foreach (Match item in mat) { Debug.Log(item); } } }

实例2、 替换掉多余的空格

using System.Text.RegularExpressions; using UnityEngine; public class Regex_Test : MonoBehaviour { void Start() { string temp = "Hello World"; MatchStr(temp); } public void MatchStr(string str) { Regex reg = new Regex("\\s+"); Debug.Log(reg.Replace(str, " ")); } }

unity 正则表达式

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【PMP】9.2每日十题
下一篇:工程师必备十大“小软件”
相关文章