如何檢查字符串中是否包含以下字符「RM」,後跟任意數字或特殊字符( - ,_ etc),然後是「T」?檢查字符串中是否包含字符和數字
例:thisIsaString ABRM21TC =是,包含 「RM」 之後是編號,接着 「T」
例:thisIsaNotherString RM-T = yes時,包含 「RM」 之後是特殊字符,然後接着「T」
如何檢查字符串中是否包含以下字符「RM」,後跟任意數字或特殊字符( - ,_ etc),然後是「T」?檢查字符串中是否包含字符和數字
例:thisIsaString ABRM21TC =是,包含 「RM」 之後是編號,接着 「T」
例:thisIsaNotherString RM-T = yes時,包含 「RM」 之後是特殊字符,然後接着「T」
試試這個正則表達式。
[^RM]*RM[^RMT]+T[^RMT]*
這裏是一個示例程序。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication12
{
class Program
{
static void Main(string[] args)
{
String rg = "[^RM]*RM[^RMT]+T[^RMT]*";
string input = "111RM----T222";
Match match = Regex.Match(input, rg, RegexOptions.IgnoreCase);
Console.WriteLine(match.Success);
}
}
}
你想要檢查使用正則表達式(正則表達式)的字符串。看到這個MSDN上的信息就如何做到這一點
沒有投票權,但我希望至少看到一個樣本表達式,因爲鏈接有過時的糟糕習慣。 –
使用正則表達式
http://www.webresourcesdepot.com/learn-test-regular-expressions-with-the-regulator/
的穩壓器是一種先進的,自由的正則表達式測試和學習工具。它允許您針對任何文本輸入,文件或網頁構建和驗證正則表達式,並在易於理解的分層樹中顯示匹配,拆分或替換結果。
你應該玩更多的樣本數據,特別是關於特殊字符,你可以使用regexpal, I have added the two cases and an expression to get you started。
你可以用一個簡單的正則表達式做到這一點:
var match = Regex.Match(s, "RM([^T]+)T");
match.Success
。match.Groups[1]
獲取捕獲的值。這裏是一個演示(上ideone:link):
foreach (var s in new[] {"ABRM21TC", "RM-T", "RxM-T", "ABR21TC"}) {
var match = Regex.Match(s, "RM([^T]+)T");
Console.WriteLine("'{0}' - {1} (Captures '{2}')", s, match.Success, match.Groups[1]);
}
它打印
'ABRM21TC' - True (Captures '21')
'RM-T' - True (Captures '-')
'RxM-T' - False (Captures '')
'ABR21TC' - False (Captures '')
你可能會使用一個正則表達式。或者,您可以手動檢查每個字符。 – crush
正則表達式 – Mutant
@RaphaëlAlthaus這並不完全符合標準,但接近。再讀一遍。 – crush