用于获取用作分隔符的下划线后面的文本的正则表达式
本文关键字:文本 正则表达式 下划线 用于 分隔符 获取 | 更新日期: 2023-09-27 18:18:27
我有一个这样的字符串:
所以基本上我需要一个正则表达式来获得_分隔符之后的那4个数值。我确信它非常简单,但Regex对我来说就像一门外语!
就是这个正则表达式:
_([0-9]+)
(捕获组1持有的号码)
或者如果你的引擎支持向后看(据我所知c#不是这种情况):
(?<=_)[0-9]+
(捕获组0持有的号码)
(...)
表示catch组。在你的匹配对象中,你可以通过yourMatch.Groups[index].Value
的索引访问它们,或者如果你通过(?<name>...)
命名你的catch组,比如yourMatch.Groups[name].Value
。然后,该值将保存与该特定组的子表达式匹配的任何内容(在您的示例中是4位数)。
如果你只希望正则表达式匹配恰好是4个数字字符,
然后将+
替换为{4}'b
编辑:正如Alan Moore正确指出的那样,这些被称为"捕获组",而不是"捕获组"。我需要更多的睡眠
Regex: _(?<number>[0-9]+)
var match = new Regex("_(?<number>[0-9]+)").Match("blah blah blah_0123");
if(match.Success)
{
var value = match.Groups["number"].Value;
var number = Int.Parse(value);
Console.WriteLine(value); // this will write "0123"
Console.WriteLine(number); // this will write "123"
}