gpt4 book ai didi

c#数字/数字/字符串模式的正则表达式

转载 作者:行者123 更新时间:2023-12-03 18:22:31 34 4
gpt4 key购买 nike

我想找 {a number} / { a number } / {a string}模式。我可以得到number / number工作,但是当我添加 / string它不是。

我试图找到的例子:

15/00969/FUL

我的正则表达式:
Regex reg = new Regex(@"\d/\d/\w");

最佳答案

您应该使用 + quantifier这意味着 1 or more times它适用于量词之前的模式,我会添加单词边界 \b只匹配整个单词:

\b\d+/\d+/\w+\b

C# 代码(使用逐字字符串文字,这样我们就可以从测试工具或服务中复制/粘贴正则表达式,而不必转义反斜杠):
var rx = new Regex(@"\b\d+/\d+/\w+\b");

如果你想精确对应某个模式的字符数,你可以使用 {} s:
\b\d{2}/\d{5}/\w{3}\b

最后,如果字符串中只有字母,可以使用 \p{L} (或 \p{Lu} 仅捕获大写字母)C# 中的速记类:
\b\d{2}/\d{5}/\p{L}{3}\b

示例代码(还有 capturing groups 引入了未转义的 () ):
var rx = new Regex(@"\b(\d{2})/(\d{5})/(\p{L}{3})\b");
var res = rx.Matches("15/00969/FUL").OfType<Match>()
.Select(p => new
{
first_number = p.Groups[1].Value,
second_number = p.Groups[2].Value,
the_string = p.Groups[3].Value
}).ToList();

输出:

enter image description here

关于c#数字/数字/字符串模式的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30100623/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com