首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式生成

正则表达式生成
EN

Stack Overflow用户
提问于 2011-05-05 19:30:24
回答 4查看 314关注 0票数 2

我需要一个常规的快递:字母数字格式。例如:"E7R8R9"。下面是我的代码:

代码语言:javascript
运行
复制
string txt = "G1R1A3";
// Any Single Word Character (Not Whitespace) 1
string re1 = "[a-z][0-9][a-z][0-9][a-z][0-9]";

Regex r = new Regex(re1, RegexOptions.IgnoreCase | RegexOptions.Singleline);
Match m = r.Match(txt);
if (m.Success)
{
    String w1 = m.Groups[1].ToString();
    Console.Write("(" + w1.ToString() + ")" + "\n");
}
Console.ReadLine();

但这段代码也与"GG1R1A3"匹配。请帮帮忙。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-05 19:47:41

您的代码将在字符串中的任何位置搜索该模式。如果要将其锚定到字符串的开头(和结尾),请使用^$

代码语言:javascript
运行
复制
    string re1 = "^[a-z][0-9][a-z][0-9][a-z][0-9]$";
票数 3
EN

Stack Overflow用户

发布于 2011-05-05 19:52:15

您可以以更短的方式使用这个正则表达式

代码语言:javascript
运行
复制
       string strRegex = @"^([A-Z]\d){3}$";

        Regex myRegex = new Regex(strRegex);
        string strTargetString = @"E7R8R9";
        Match myMatch = myRegex.Match(strTargetString);
            if (myMatch.Success)
            {
                // Add your code here
            }
票数 1
EN

Stack Overflow用户

发布于 2011-05-05 19:37:25

您的正则表达式只匹配小写字母,但是您的示例使用大写字母。

如果只想匹配大写字母,请使用以下命令:

代码语言:javascript
运行
复制
[A-Z][0-9][A-Z][0-9][A-Z][0-9]

如果要匹配大小写字母,请使用以下命令:

代码语言:javascript
运行
复制
[a-zA-Z][0-9][a-zA-Z][0-9][a-zA-Z][0-9]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5896967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档