我需要建立一个正则表达式.我要匹配的字符串始终以\然后4或5个数字开头,然后是另一个\
例如.
在第一个例子中,我需要"7778".在第二个例子中,我需要"7778".在第三个例子中,我需要"8278".
这4位数字实际上是一个端口号,它是每一行上唯一出现这一系列字符(例如\ 7778 \)的时间.有时端口号是4位数,有时是5位.
我已经知道如何使用Regex.Match.Success保留字符串供以后使用,它只是我在这里寻找的实际正则表达式模式.
谢谢
var match=Regex.Match(@"\1234\",@"\\(?<num>\d{4,5})\\");
if(match.Success)
{
var numString=match.Groups["num"].Value;
}
Run Code Online (Sandbox Code Playgroud)
或者(如果你不喜欢使用组)你可以使用lookbehind和lookahead断言来确保你的4-5位数匹配被斜线包围:
var match=Regex.Match(@"\1234\",@"(?<=\\)\d{4,5}(?=\\)");
if(match.Success)
{
var numString=match.Value;
}
Run Code Online (Sandbox Code Playgroud)