什麼是以下字符串正確的C#正則表達式:正則表達式此字符串格式
8:13-BK-99999
8也可以是一個2位數08或10中,總是數字
99999可以是3位至5位,所有的數字
BK可以是任何2個字母字符,不區分大小寫
由於
什麼是以下字符串正確的C#正則表達式:正則表達式此字符串格式
8:13-BK-99999
8也可以是一個2位數08或10中,總是數字
99999可以是3位至5位,所有的數字
BK可以是任何2個字母字符,不區分大小寫
由於
看到,因爲你問一個C#示例,不區分大小寫,可以選擇作爲RegexOptions
之一。
我認爲13
也是一個2位數的數字。
using System.Text.RegularExpressions;
...
Regex regX = new Regex(
@"(\d{1,2}):(\d{1,2})-([a-z]{2})-(\d{3,5})",
RegexOptions.IgnoreCase
);
if(regX.IsMatch(inputString))
{
// Matched
}
...
模式:
(\b(8|08|10):\d{2}-[a-zA-Z]{2}-\d{3,5}\b)
代碼:
using System;
using System.Text.RegularExpressions;
namespace myapp
{
class Class1
{
static void Main(string[] args)
{
String sourcestring = "source string to match with pattern";
Regex re = new Regex(@"(\b(8|08|10):\d{2}-[a-zA-Z]{2}-\d{3,5}\b)",RegexOptions.IgnoreCase);
Match m = re.Match(sourcestring);
for (int gIdx = 0; gIdx < m.Groups.Count; gIdx++)
{
Console.WriteLine("[{0}] = {1}", re.GetGroupNames()[gIdx], m.Groups[gIdx].Value);
}
}
}
}
例如:http://www.myregextester.com/?r=bbf584e8
其他的例子似乎沒有考慮到數開始超過兩個數字,或以五個以上結尾,他們j最好抓住他們之間的東西。我假設你不想要00:11-00-aa-00000
,取自000:11-00-aa-000000
。
你有什麼試過自己? – Lloyd
是的,我嘗試了http://regexhero.net/tester/ ....我的問題是我用鼠標突出顯示了我的目標字符串,所以不管我輸入到上面的框中,它從未顯示爲比賽(藍色突出顯示是騎着黃色),這讓我覺得我完全沒有基地。 – bulltorious
這不應該被關閉。問題中的具體問題很明顯,它不是一個「簡單的印刷錯誤」,它可以被複制(問題是缺乏對正則表達式的理解)。這不是一個好問題,而是應該被低估(正如我幫助過的那樣)。 – bjb568