zoukankan      html  css  js  c++  java
  • Regex..::.IsMatch 方法 (String, String, RegexOptions)

    IsMatch 方法 (String, String, RegexOptions)
    用于 Silverlight 的 .NET Framework 类库
    Regex..::.IsMatch 方法 (String, String, RegexOptions)

    指示正则表达式使用 pattern 参数中指定的正则表达式和 options 参数中提供的匹配选项是否在输入字符串中找到匹配项。

    命名空间:  System.Text.RegularExpressions
    程序集:  System(在 System.dll 中)
    Visual Basic(声明)
    Public Shared Function IsMatch ( _
        input As String, _
        pattern As String, _
        options As RegexOptions _
    ) As Boolean
    Visual Basic (用法)
    Dim input As String
    Dim pattern As String
    Dim options As RegexOptions
    Dim returnValue As Boolean
    
    returnValue = Regex.IsMatch(input, _
        pattern, options)
    C#
    public static bool IsMatch(
        string input,
        string pattern,
        RegexOptions options
    )

    参数

    input
    类型:System..::.String
    要搜索匹配项的字符串。
    pattern
    类型:System..::.String
    要匹配的正则表达式模式。
    options
    类型:System.Text.RegularExpressions..::.RegexOptions
    枚举值的按位组合。

    返回值

    类型:System..::.Boolean
    如果正则表达式找到匹配项,则为 true;否则,为 false
    异常 条件
    ArgumentException

    出现正则表达式分析错误。

    ArgumentNullException

    inputnullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing

    - 或 -

    patternnullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing

    ArgumentOutOfRangeException

    options 不是有效的 RegexOptions 值。

    IsMatch 方法通常用于验证字符串,或者在不检索字符串的情况下确保该字符串符合特定模式以进行后续操作。若要确定一个或多个字符串是否匹配某个正则表达式模式并检索这些字符串以进行后续操作,请调用 MatchMatches 方法。

    静态 IsMatch(String, String, RegexOptions) 方法等效于使用 pattern 指定的正则表达式模式和 options 指定的正则表达式选项构造 Regex 对象并调用 IsMatch(String) 实例方法。此正则表达式模式将被缓存以供正则表达式引擎快速检索。

    pattern 参数由通过符号描述要匹配的字符串的各种正则表达式语言元素组成。有关正则表达式的更多信息,请参见 .NET Framework 文档中的 .NET Framework 正则表达式以及正则表达式语言元素主题。

    以下示例阐释如何使用 IsMatch(String, String) 方法来确定一个字符串是否为有效的部件号。此正则表达式假定该部件号具有特定的格式(由以连字符分隔的三组字符组成)。第一组包含四个字符,并且必须由一个字母数字字符后跟两个数字字符再后跟一个字母数字字符组成。第二组由三个字符组成,并且必须为数字。第三组由四个字符组成,并且必须为三个数字字符后跟一个字母数字字符。

    Visual Basic
    Imports System.Text.RegularExpressions
    
    Module Example
       Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
          Dim partNumbers() As String = {"1298-673-4192", "A08Z-931-468a", _
                                          "_A90-123-129X", "12345-KKA-1230", _
                                          "0919-2893-1256"}
          Dim pattern As String = "^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$"
          For Each partNumber As String In partNumbers
             outputBlock.Text += String.Format("{0} {1} a valid part number.", _
                               partNumber, _
                               IIf(Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase), _
                                   "is", "is not")) & vbCrLf
          Next
       End Sub
    End Module
    ' The example displays the following output:
    '       1298-673-4192 is a valid part number.
    '       A08Z-931-468a is a valid part number.
    '       _A90-123-129X is not a valid part number.
    '       12345-KKA-1230 is not a valid part number.
    '       0919-2893-1256 is not a valid part number.
    
    using System;
    using System.Text.RegularExpressions;
    
    public class Example
    {
       public static void Demo(System.Windows.Controls.TextBlock outputBlock)
       {
          string[] partNumbers = { "1298-673-4192", "A08Z-931-468a", 
                                  "_A90-123-129X", "12345-KKA-1230", 
                                  "0919-2893-1256" };
          string pattern = @"^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$";
          foreach (string partNumber in partNumbers)
             outputBlock.Text += String.Format("{0} {1} a valid part number.",
                               partNumber,
                               Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase)
                                             ? "is" : "is not") + "\n";
       }
    }
    // The example displays the following output:
    //       1298-673-4192 is a valid part number.
    //       A08Z-931-468a is a valid part number.
    //       _A90-123-129X is not a valid part number.
    //       12345-KKA-1230 is not a valid part number.
    //       0919-2893-1256 is not a valid part number.
    

    此正则表达式模式为:

    ^[A-Z0-9]\d{2}[A-Z0-9](-\d{3}){2}[A-Z0-9]$
    

    下表显示了如何解释此正则表达式模式。

    模式

    说明

    ^

    从字符串的开头部分开始匹配。

    [A-Z0-9]

    匹配任何单个字母字符(AZ)或任何数字字符。

    \d{2}

    匹配两个数字字符。

    [A-Z0-9]

    匹配任何单个字母字符(AZ)或任何数字字符。

    -

    匹配连字符。

    \d{3}

    匹配正好三个数字字符。

    (-\d{3}){2}

    查找一个连字符后跟三个数字字符的模式,并匹配此模式的两个匹配项。

    [A-Z0-9]

    匹配任何单个字母字符(AZ)或任何数字字符。

    $

    在字符串的结尾结束匹配。

    在将 options 参数设置为 RegexOptions..::.IgnoreCase 的情况下调用 IsMatch(String, String, RegexOptions) 方法等效于定义以下正则表达式:

    [a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]
    

    为了进行比较,请参见 IsMatch(String, String) 方法的示例。

  • 相关阅读:
    CICD : 存代码部署(精简版)
    CICD:通过Shell 将打包后的代码部署到各环境
    linux:curl 取得HTTP返回的状态码
    闭包简单的了解
    javascript正则表达式了解
    搭建PHP开发环境(四)-PHP操作MySQL
    搭建PHP开发环境(三)-MySQL安装配置
    搭建PHP开发环境(二)-PHP安装
    搭建PHP开发环境(一)-Apache安装配置
    生成简单验证码文字
  • 原文地址:https://www.cnblogs.com/moss_tan_jun/p/1868247.html
Copyright © 2011-2022 走看看