首页 > 编程语言 > C# > 如何在Unity中使用正则表达式?
2022
08-29

如何在Unity中使用正则表达式?

很多时候我们在检测用户输入,或者判断一些问题,或密码的时候,会需要验证字符串是否符合我们要求的规范,那么在Unity中如何使用这些规范呢?

//C#
private string 表达式 = "^[0-9]*$"(表达式:当前意思是仅可以输入数字);
private string 用户输入1= "123123123";
private string 用户输入2= "1231a";


//判断
Regex reg = new Regex(表达式);
bool isContain = reg.IsMatch(用户输入1);   // 结果:True
bool isContain = reg.IsMatch(用户输入2);   // 结果:False

下面有一些我们最常用的正则表达式

只能输入数字: "^[0-9]*$" 。

只能输入n位的数字:"^\d{n}$"。

只能输入至少n位的数字:"^\d{n,}$"。

只能输入m~n位的数字:"^\d{m,n}$"。

只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。

只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。

只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。

只能输入非零的正整数:"^\+?[1-9][0-9]*$"。

只能输入非零的负整数:"^\-[1-9][]0-9"*$。

只能输入长度为3的字符:"^.{3}$"。

只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。

只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。

只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。

只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。

只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。

验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。

验证用户密码强度(包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。):"^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$"。

验证是否含有^%&,;=?$\"等字符:"[^%&’,;=?$\x22]+"。

只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"

验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。

验证InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。

提取图片地址:/(http(s)?\:\/\/)?(www\.)?(\w+\:\d+)?(\/\w+)+\.(png|gif|jpg|bmp|jpeg)/gi。

验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX""XXXX-XXXXXXXX""XXX-XXXXXXX""XXX-XXXXXXXX""XXXXXXX""XXXXXXXX"。

验证身份证号(15位或18位数字)"^\d{15}|\d{18}$"。

验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01""09""1""12"。

验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01""09""1""31"。

验证Ipv4地址 :"\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b"。

验证IP地址:"\d+\.\d+\.\d+\.\d+"。

验证中国邮政编码:"[1-9]\d{5}(?!\d)"。

验证是否可能是QQ号: "[1-9][0-9]{4,}"
最后编辑:
作者:游戏创作者大陆

留下一个回复

你的email不会被公开。