国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity利用正則表達式判斷字符串是否滿足要求

這篇具有很好參考價值的文章主要介紹了Unity利用正則表達式判斷字符串是否滿足要求。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

首先該方法屬于C#,是C#提供的,不是unity提供的,但我使用這個是在unity中使用的,故此我將其歸入unity筆記。

該方式可用于注冊、登錄等等需要用戶輸入的場景,用以判斷字符串是否滿足正則表達式的要求

首先介紹該API

//引入命名空間
using System.Text.RegularExpressions;

//如下API
public bool IsMatch(string input);
public bool IsMatch(string input, int startat);
public static bool IsMatch(string input, string pattern);
public static bool IsMatch(string input, string pattern, RegexOptions options);
public static bool IsMatch(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);

這里開始介紹,大家可以看看官方的文檔Regex.IsMatch 方法 (System.Text.RegularExpressions) | Microsoft Learn

以下是我的個人理解

首先是非靜態(tài)的方法,需要配合Regex變量一起使用

//非靜態(tài)
/*1*/
public bool IsMatch(string input);

/*
input是否滿足自定義的Regex變量的正則表達式
滿足返回true,否則false
*/

//使用

using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      //需要檢測的字符串
      string[] partNumbers= {
                              "1298-673-4192", 
                              "A08Z-931-468A", 
                              "_A90-123-129X", 
                              "12345-KKA-1230", 
                              "0919-2893-1256" 
                            };
      //自定義的Regex檢測規(guī)則
      Regex rgx = new Regex(@"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$");

      foreach (string partNumber in partNumbers)
         Console.WriteLine("{0} {1} a valid part number.", 
                           partNumber, 
                           rgx.IsMatch(partNumber) ? "is" : "is not");
   }
}
// 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.


/*1*/
public bool IsMatch(string input, int startat);

/*
從input的startat位置開始檢測其是否滿足自定義的Regex變量的正則表達式
滿足返回true,否則false
startat取值0-最大長度
*/

//使用
using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "Part Number: 1298-673-4192", "Part No: A08Z-931-468A", 
                              "_A90-123-129X", "123K-000-1230", 
                              "SKU: 0919-2893-1256" };
      Regex rgx = new Regex(@"[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$");
      foreach (string partNumber in partNumbers)
      {
         //獲取字符':'出現(xiàn)在字符串中的第一個位置
         int start = partNumber.IndexOf(':');
         if (start >= 0)
         {
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, 
                              rgx.IsMatch(partNumber, start) ? "is" : "is not");
         }
         else
         {
            Console.WriteLine("Cannot find starting position in {0}.", partNumber);
         }
      }
   }
}
// The example displays the following output:
//       Part Number: 1298-673-4192 is a valid part number.
//       Part No: A08Z-931-468A is a valid part number.
//       Cannot find starting position in _A90-123-129X.
//       Cannot find starting position in 123K-000-1230.
//       SKU: 0919-2893-1256 is not a valid part number.

靜態(tài)的方法

//靜態(tài)方法
public static bool IsMatch(string input, string pattern);

/*
input是否滿足正則表達式pattern
滿足返回true,否則false
*/

//使用
using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] partNumbers= { "1298-673-4192", "A08Z-931-468A", 
                              "_A90-123-129X", "12345-KKA-1230", 
                              "0919-2893-1256" };

      //正則表達式,特別注意@不能掉且要在""外面
      /*@ 是C# 中的字符串字面量轉(zhuǎn)義符
         @ 用于將字符串字面量中的[和]轉(zhuǎn)義為它們的字符值
        這樣[a-zA-Z0-9]就變成了一個有效的正則表達式碼。
        */
      string pattern = @"^[a-zA-Z0-9]\d{2}[a-zA-Z0-9](-\d{3}){2}[A-Za-z0-9]$";
      foreach (string partNumber in partNumbers)
         Console.WriteLine("{0} {1} a valid part number.", 
                           partNumber, 
                           Regex.IsMatch(partNumber, pattern) ? "is" : "is not");
   }
}
// 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.


public static bool IsMatch(string input, string pattern, RegexOptions options);


using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      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)
         Console.WriteLine("{0} {1} a valid part number.", 
                           partNumber, 
                           Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase) 
                                         ? "is" : "is not");
   }
}
// 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.


public static bool IsMatch(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);


using System;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      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)
         try {
            Console.WriteLine("{0} {1} a valid part number.", 
                              partNumber, 
                              Regex.IsMatch(partNumber, pattern, RegexOptions.IgnoreCase) 
                                            ? "is" : "is not", TimeSpan.FromMilliseconds(500));
         }
         catch (RegexMatchTimeoutException e) {
            Console.WriteLine("Timeout after {0} seconds matching {1}.",
                              e.MatchTimeout, e.Input);
         }
   }
}
// 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.

正則表達式的選項 - .NET | Microsoft Learnhttps://learn.microsoft.com/zh-cn/dotnet/standard/base-types/regular-expression-options

TimeSpan 結(jié)構(gòu) (System) | Microsoft Learnhttps://learn.microsoft.com/zh-cn/dotnet/api/system.timespan?view=net-8.0

C# 正則表達式 | 菜鳥教程 (runoob.com)https://www.runoob.com/csharp/csharp-regular-expressions.html上面是一些網(wǎng)站,詳細介紹了一些細節(jié),我在這不過多贅述。文章來源地址http://www.zghlxwxcb.cn/news/detail-792617.html

到了這里,關(guān)于Unity利用正則表達式判斷字符串是否滿足要求的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【SQL-正則】利用正則表達式進行過濾操作(常用正則表達式)

    1、由數(shù)字、26個英文字母或者下劃線組成的字符串 2、非負整數(shù)(正整數(shù) + 0 ) 3、正整數(shù) 4、非正整數(shù)(負整數(shù) + 0) 5、負整數(shù) 6、整數(shù) 7、非負浮點數(shù)(正浮點數(shù) + 0) 8、正浮點數(shù) 9、非正浮點數(shù)(負浮點數(shù) + 0) 10、負浮點數(shù) 11、浮點數(shù) 12、由26個英文字母組成的字符串 13、

    2024年02月12日
    瀏覽(32)
  • 12.字符串和正則表達式

    正則表達式相關(guān)知識 在編寫處理字符串的程序或網(wǎng)頁時,經(jīng)常會有查找符合某些復(fù)雜規(guī)則的字符串的需要,正則表達式就是用于描述這些規(guī)則的工具,換句話說正則表達式是一種工具,它定義了字符串的匹配模式(如何檢查一個字符串是否有跟某種模式匹配的部分或者從一個

    2024年01月16日
    瀏覽(29)
  • python 正則表達式提取字符串

    python 正則表達式提取字符串

    1、提取字符串的場景及公式、命令 背景 :目前遇到的場景主要是以某個字符串開始、某個字符串結(jié)束,提取中間部分的字符,有的時候需要開始的字符,有時不需要,大概涉及到了4種情況,場景及處理方式如下: 1.1 以某個字符開始、某個字符結(jié)束,期待的提取結(jié)果 包含

    2024年02月02日
    瀏覽(26)
  • java之字符串與正則表達式

    java之字符串與正則表達式

    目錄 String 構(gòu)造方法 注意 格式控制字符串 常用方法 StringBuilder與StringBuffer 特點 理解可變與不可變 字符串拼接方法 字符串刪除方法 字符串內(nèi)插入字符 字符串替換方法 字符串反轉(zhuǎn)方法 查字符串對應(yīng)索引處的字符? 截取字符串 正則表達式 正則表達式符號表 正則表達式常用方

    2023年04月22日
    瀏覽(25)
  • 【python】12.字符串和正則表達式

    【python】12.字符串和正則表達式

    正則表達式相關(guān)知識 在編寫處理字符串的程序或網(wǎng)頁時,經(jīng)常會有查找符合某些復(fù)雜規(guī)則的字符串的需要,正則表達式就是用于描述這些規(guī)則的工具,換句話說正則表達式是一種工具,它定義了字符串的匹配模式(如何檢查一個字符串是否有跟某種模式匹配的部分或者從一個

    2024年01月16日
    瀏覽(20)
  • notepad++ 正則表達式查找特定字符串

    批量文本的處理方法 在報文中有很多指標和值都具有固定的格式,比如是? a=\\\"1\\\" 這類格式,那么我們只取前面的指標a,就會比較復(fù)雜,而使用正則表達式就會快樂許多! 采用以下第二種方法 查找目標 =(.+?)\\\"? ? 表示查找以等號開頭,引號和空格? 結(jié)尾的字符串,可以避免查

    2024年02月15日
    瀏覽(23)
  • 利用正則表達式進行爬取數(shù)據(jù)以及正則表達式的一些使用方法

    Pattern:表示正則表達式 Matcher:文本匹配器,作用按照正則表達式的規(guī)則去讀取字符串,從頭開始讀取。 在大串中去找符合匹配規(guī)則的子串。 代碼示例: 需求: 把連接:https://m.sengzan.com/jiaoyu/29104.html?ivk sa=1025883i中所有的身份證號碼都爬取出來。 代碼示例: 需求: 把下面文

    2024年02月09日
    瀏覽(28)
  • 正則表達式中 “$” 并不是表示 “字符串結(jié)束

    作者:Seth Larson 譯者:豌豆花下貓@Python貓 英文:Regex character “$” doesn\\\'t mean “end-of-string” 轉(zhuǎn)載請保留作者及譯者信息! 這篇文章寫一寫我最近在用 Python 的正則表達式模塊( re )開發(fā) CPython 的 SBOM 工具時發(fā)現(xiàn)的一個令人驚訝的行為。 如果用過正則表達式,你可能知道 ^

    2024年04月15日
    瀏覽(26)
  • Python 自學(五) 之字符串及正則表達式

    Python 自學(五) 之字符串及正則表達式

    目錄 1. 字符串的分割合并? split()? join()? ? ? ? ?P132 2. 字符串的檢索? ?count() find() index() startswith() endswith()? ? ? ? ?P134 3. 去除空格和特殊字符? ?strip()? lstrip() rstrip()? ? ? ? ? P139 4. 格式化字符串? ?format()? ? ? ? ?P142 5. 字符串編碼轉(zhuǎn)換? encode()? decode()? ? ? ? P145

    2024年01月25日
    瀏覽(30)
  • 【動態(tài)規(guī)劃】【字符串】C++算法:正則表達式匹配

    【動態(tài)規(guī)劃】【字符串】C++算法:正則表達式匹配

    視頻算法專題 動態(tài)規(guī)劃匯總 字符串 給你一個字符串 s 和一個字符規(guī)律 p,請你來實現(xiàn)一個支持 ‘.’ 和 ‘ ’ 的正則表達式匹配。 ‘.’ 匹配任意單個字符 \\\' ’ 匹配零個或多個前面的那一個元素 所謂匹配,是要涵蓋 整個 字符串 s的,而不是部分字符串。 示例 1: 輸入:

    2024年02月03日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包