【发布时间】:2022-01-21 10:47:18
【问题描述】:
根据this question/answer,我使用以下正则表达式从括号中的数字解析name (100) 的名称,给出:
- 左方括号左侧的名称,去除左/右空格
- 括号中的数字
使用我的 C# 代码:
var found = Regex.Match("morleyc (1005)", @"(\S*)\s*\((\d*)", RegexOptions.IgnoreCase)
我得到一个包含 3 个项目的数组,而我希望一个 2 元素数组只包含第 2 个和第 3 个项目:
morleyc (1005
morleyc
1005
这是我所期望的(根据regexstorm.net 元素):
morleyc
1005
请告知我在代码中做错了什么?
.net 小提琴@https://dotnetfiddle.net/5DVWPs
【问题讨论】:
-
可能是
@"(\w+)\s*\([0-9]+\)"模式,其中\w+- 一个或多个单词(字母或数字)表示名称,然后\s*表示可选空格,\([0-9]+\)表示数字 -
请参阅my answer to another question on this site 我尝试展示如何理解 C# 中正则表达式搜索的结果。