我正在尝试使用与此匹配的正则表达式模式:
Name[0]/Something
或
Name/Something
动词Name和Something将永远为人所知。
我为Name[0]/Something
做了,但我想在一个正则表达式中为这个动词制作模式
我尝试sign [0]
作为可选项,但它不起作用:
var regexPattern = "Name" + @"\([\d*\]?)/" + "Something"
你知道一些我会输入一些动词的发生器吗?它会为我制作模式吗?
答案 0 :(得分:4)
使用此:
Name(\[\d+\])?\/Something
\d+
允许一个或多个数字\[\d+\]
允许[
和]
内的一个或多个数字。因此,它允许[0]
,[12]
等,但拒绝[]
(\[\d+\])?
允许带括号的数字出现零次或一次\/
表示斜杠(只有一个)Name
和Something
是字符串文字答案 1 :(得分:1)
你很接近,正则表达式Name(\[\d+\])?\/Something
会做。
答案 2 :(得分:1)
问题出在第一个' \'在你的模式之前'(' 这就是你需要的:
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);
}
答案 3 :(得分:0)
我认为这就是你要找的东西:
Name(\[\d+\])?\/Something
名称 litteral
([\ d +])?括号之间的数字(1位或更多位数)可选1或0次
/ Something 有点小事
答案 4 :(得分:0)
var string = 'Name[0]/Something';
var regex = /^(Name)(\[\d*\])?\/Something$/;
console.log(regex.test(string));
string = 'Name/Something';
console.log(regex.test(string));

您已尝试使用此模式:\([\d*\]?)/
\
之前无需使用(
(在这种情况下)
?
之后 ]
意味着:字符]
零次或一次
因此,如果您希望模式[...]
显示零次或一次,您可以尝试:(\[\d*\])?
希望这有帮助!