using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
//1.自定义需要进入判断的数组
string[] strArr = { "qwe123rty", "qwe", "a13", "a1b", "123abc456", "a123e123" };
//2.循环加载数组内容,判断并打印到控制台
for (int i = 0; i < strArr.Length; i++)
{
//初始化一个正则表达式对象
//注:^匹配输入的开始位置 $匹配输入的结尾位置
// [0-9]匹配任意数字 [a-zA-Z]匹配任意字母
// ()内是提取的信息 +限定的表达式至少出现1次
MatchCollection matchCol = Regex.Matches(strArr[i], "^([a-zA-Z]+[0-9]+)[a-zA-Z]+$");
//匹配到结果则输出匹配内容 否则输出无匹配内容
if (matchCol.Count > 0 && matchCol[0].Success && matchCol[0].Groups.Count > 1)
{
Console.WriteLine("{0} --> {1}", strArr[i], matchCol[0].Groups[1].Value);
}
else
{
Console.WriteLine("{0} --> 无匹配", strArr[i]);
}
}
Console.ReadKey();
}
}
}
写了注释你看下,如果看不懂,留言,我给你补一份截字符串的方法。
string str = "abc123fgh";
string regstr = @"(^[a-z]+\d+).*";
if(Regex.IsMatch(str,regstr,RegexOptions.IgnoreCase))
str = Regex.Replace(str, regstr, "$1");
Console.WriteLine(str);
Console.ReadKey();
//判断是否以字母开头是一样的
if(Regex.IsMatch(str,"^[a-z]",RegexOptions.IgnoreCase))
正则
^[a-z]*[0-9]*