我試圖做的正則表達式將匹配到這一點:正則表達式生成器
Name[0]/Something
或
Name/Something
動詞名稱和東西將永遠知道。 我做了Name[0]/Something
,但我想彌補這方面動詞模式在一個正則表達式 我試圖sign [0]
作爲可選的,但它沒有工作:
var regexPattern = "Name" + @"\([\d*\]?)/" + "Something"
你知道一些發電機,我會輸入一些動詞,它會爲我形成模式?
我試圖做的正則表達式將匹配到這一點:正則表達式生成器
Name[0]/Something
或
Name/Something
動詞名稱和東西將永遠知道。 我做了Name[0]/Something
,但我想彌補這方面動詞模式在一個正則表達式 我試圖sign [0]
作爲可選的,但它沒有工作:
var regexPattern = "Name" + @"\([\d*\]?)/" + "Something"
你知道一些發電機,我會輸入一些動詞,它會爲我形成模式?
你接近,正則表達式Name(\[\d+\])?\/Something
會做。
我認爲這是你在找什麼:
Name(\[\d+\])?\/Something
名稱 litteral
([\ d +])?支架可選之間的數字(1個或多個數字)1或0次
/東西東西litteral
那麼括號內多一個數字怎麼樣? –
@AndriiLitvinov你在'd'後面加了一個'+',表示這個字符(數字)爲'1或更多' –
是的,我想字符串表示索引訪問,它可以是一個數字。 –
var string = 'Name[0]/Something';
var regex = /^(Name)(\[\d*\])?\/Something$/;
console.log(regex.test(string));
string = 'Name/Something';
console.log(regex.test(string));
你已經試過錯這個模式:\([\d*\]?)/
無需(
前使用\
(在這種情況下)
?
]
後意思是:chara CTER ]
零次或一次
所以,如果你想要的圖案[...]
顯示零次或一次,你可以嘗試:(\[\d*\])?
希望這有助於!
如果括號內沒有數字,結果是否正確? –
@AndriiLitvinov也許是錯誤的,但這個問題沒有提到。 – Vayne
問題出現在'(')之前的模式中。
這裏是你需要的東西:
var str = "Name[0]/Something or Name/Something";
Regex rg = new Regex(@"Name(\[\d+\])?/Something");
var matches = rg.Matches(str);
foreach(Match a in matches)
{
Console.WriteLine(a.Value);
}
使用此:
Name(\[\d+\])?\/Something
\d+
允許一個或多個數字\[\d+\]
允許內部[
和]
一個或多個數字。因此,這將允許[0]
,[12]
等,但拒絕[]
(\[\d+\])?
允許與括號數字爲存在任一零次或一次\/
表示斜線(只有一個)Name
和Something
是字符串文字
您的正則表達式將匹配'Name [0/Something'以及 – degant
@degant,謝謝,忽略了這一點。 –