正则表达式模式生成器

时间:2017-05-15 05:14:33

标签: c# regex

我正在尝试使用与此匹配的正则表达式模式:

Name[0]/Something

Name/Something

动词Name和Something将永远为人所知。 我为Name[0]/Something做了,但我想在一个正则表达式中为这个动词制作模式 我尝试sign [0]作为可选项,但它不起作用:

 var regexPattern = "Name" + @"\([\d*\]?)/" + "Something"

你知道一些我会输入一些动词的发生器吗?它会为我制作模式吗?

5 个答案:

答案 0 :(得分:4)

使用此:

Name(\[\d+\])?\/Something
  • \d+允许一个或多个数字
  • \[\d+\]允许[]内的一个或多个数字。因此,它允许[0][12]等,但拒绝[]
  • (\[\d+\])?允许带括号的数字出现零次或一次
  • \/表示斜杠(只有一个)
  • NameSomething是字符串文字

Regex 101 Demo

答案 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 有点小事

https://regex101.com/r/G8tIHC/1

答案 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*\])?

希望这有帮助!