`

C#基本的正则表达式操作

    博客分类:
  • C#
阅读更多
[实例4-14]本例将创建一个控制台应用程序,使用正则表达式判断电话号码是否为北京地区的电话号码。首先北京地区电话区号为"010",后面电话号码位数为8,例如:"01088888888"。使用正则表达式的语法规则可进行限定,在控制台项目Program.cs文件的main函数中输入下面代码:

书中的源代码是这样写的:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string str1, str2, strreg;
            strreg = "010-\\d{8,8}";
            str1 = "010-87675842";
            str2 = "010-1234567808098977";
            Console.WriteLine("是否北京电话号码 " + Regex.IsMatch(str1,strreg).ToString());
            Console.WriteLine("是否北京电话号码 " + Regex.IsMatch(str2,strreg).ToString());
            System.Console.ReadLine();
        }
    }
}

答案是两个都为TRUE
这就不对了,str2的010-后面已经超过8位
为什么还是true呢
那么肯定是他没有进行对整个str2字符串的匹配
而是看010-12345678这部分满足了就行了

下面把strreg = "010-\\d{8,8}";修改为strreg = "^010-\\d{8,8}$";
就可以了.
----------------------------------------------------------------------------------

元字符^(和数字6在同一个键位上的符号)和$都匹配一个位置,这和\b有点类似。^匹配你要用来查找的字符串的开头,$匹配结尾。这两个代码在验证输入的内容时非常有用,比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。

这里的{5,12}和前面介绍过的{2}是类似的,只不过{2}匹配只能不多不少重复2次,{5,12}则是重复的次数不能少于5次,不能多于12次,否则都不匹配。

因为使用了^和$,所以输入的整个字符串都要用来和\d{5,12}来匹配,也就是说整个输入必须是5到12个数字,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。






分享到:
评论

相关推荐

    正则表达式测试工具C#版(src)

    - `System.Text.RegularExpressions`命名空间:C#中的正则表达式操作主要基于这个命名空间下的类和方法。 - `Regex`类:这是处理正则表达式的核心类,提供了多种与正则相关的静态方法和实例方法。 - `Match`类:...

    C#表单正则表达式验证手册

    `System.Text.RegularExpressions`命名空间提供了正则表达式操作所需的类和方法,其中最常用的是`Regex`类。 表单验证是Web或桌面应用中确保用户输入数据有效性和一致性的关键步骤。在C#中,通常使用`TextBox`等...

    C#正则表达式大全, 判断字符串是否为正整数,中文,英文.....

    在 C# 中,我们可以使用 System.Text.RegularExpressions 命名空间中的 Regex 类来实现正则表达式的操作。 知识点 1:正则表达式替换字符串 在上面的代码中,我们可以看到一个名为 RegexReplace 的方法,该方法...

    强大的正则表达式生成工具 C#版

    正则表达式的基本概念包括: 1. **字符集**:如`.`代表任意字符,`\d`代表数字,`\w`代表字母或数字,`\s`代表空白字符等。 2. **量词**:`*`表示零个或多个前一个字符,`+`表示一个或多个,`?`表示零个或一个,`{...

    (C#)正则表达式快速验证工具

    在IT领域,正则表达式(Regex)是一种强大的文本处理工具,它能高效地进行模式匹配、搜索、替换等操作。在C#中,正则表达式的功能是通过.NET Framework提供的`System.Text.RegularExpressions`命名空间实现的。 ...

    C#实现正则表达式判断

    总的来说,"C#实现正则表达式判断"项目不仅涉及到正则表达式的使用,还可能涵盖良好的代码组织和设计原则,以及与其他技术(如XML操作)的结合。学习和掌握这些知识点,能帮助开发者更高效地处理文本数据,提升程序...

    c# 正则表达式生成工具 源代码

    在IT领域,正则表达式...通过对这个源代码的分析和学习,开发者不仅可以掌握C#正则表达式的基本用法,还能了解到一些高级特性和实际应用中的技巧。这对于提升软件开发能力,特别是在处理文本数据时,是非常有帮助的。

    C#/.Net正则表达式测试工具

    DotNet正则表达式测试工具,基于.net1.1开发,vista以上操作系统绿色免安装。 用于编写正则表达式时进行测试,支持正则选项(是否忽略大小写、是否多行模式)、支持正则替换

    C#正则表达式语法大全

    C#正则表达式语法大全涵盖了在C#编程语言中使用正则表达式进行文本匹配、提取、替换等操作所必需的语法知识。正则表达式是一种强大的文本处理工具,它可以描述字符串的模式,让我们能够执行复杂的搜索和匹配操作。 ...

    C#字符串和正则表达式参考手册

    本文将深入探讨C#中的字符串操作和正则表达式使用,帮助你更好地理解和运用这些工具。 一、C#字符串 1. 字符串基础:在C#中,字符串是不可变对象,这意味着一旦创建,就不能更改。字符串常量通常用双引号括起,...

    asp.net(c#)正则表达式测试工具

    通过这个类,我们可以执行各种正则表达式操作,如`Match`方法用于查找首次匹配,`Matches`方法用于查找所有匹配,以及`Replace`和`Replace`方法用于替换匹配的字符串。 在ASP.NET(C#)的正则表达式测试工具中,...

    C#正则表达式测试工具(项目源码)

    首先,我们要理解C#中的Regex类是正则表达式的核心,它包含了一系列方法,如Match、Matches、Replace、Split等,用于执行各种正则表达式操作。例如,`Match`方法用于查找字符串中第一个与正则表达式匹配的子串,而`...

    C#正则提取中文

    在C#中,`System.Text.RegularExpressions`命名空间提供了`Regex`类,该类是执行正则表达式操作的核心。`Regex`类包含了许多静态方法,如`Matches`、`Match`、`Split`等,这些方法可以用来查找字符串中的模式匹配项...

    C#正则表达式快速入门.pdf

    《C#正则表达式快速入门》一文深入浅出地介绍了正则表达式这一强大而灵活的文本处理工具在C#编程环境下的应用。正则表达式,因其能够高效地进行模式匹配、搜索和替换等操作,在数据验证、文本处理、搜索与替换等场景...

    c#,正则表达式,源代码

    正则表达式是进行文本匹配、搜索、替换等操作的强大工具。在C#中,正则表达式的使用非常广泛,无论是开发Web应用还是桌面应用都能见到它的身影。本文将详细介绍一系列常用的正则表达式模式,并通过具体的示例来帮助...

    C#利用正则表达式验证网址

    总结来说,C#通过正则表达式验证URL是一项基本而重要的任务,可以有效地防止非法数据输入,提高应用的安全性和用户体验。正确理解和运用正则表达式,对于提升软件质量具有重大意义。通过不断学习和实践,你可以掌握...

    C#正则表达式完全手册

    C#正则表达式是.NET框架中用于在输入文本中匹配特定模式的一套工具。正则表达式由一个或多个字符文字、操作符或构造组成,可用于定义复杂的文本匹配规则。该文档作为一个手册,提供了快速参考的各个部分,覆盖了字符...

    C# 正则表达式总结

    在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。在C#中,正则表达式提供了一种灵活且强大的方式来处理字符串,尤其在处理复杂的文本模式时显得尤为重要。下面...

Global site tag (gtag.js) - Google Analytics