【发布时间】:2018-12-12 20:29:52
【问题描述】:
我很少使用正则表达式。我正在尝试从字符串中获取零件号。到目前为止我花了一天时间。
我预计“Line”有 2 个匹配项
__40X0343 1.00
__C734X77G 2.00
在这些比赛中,我期待这些比赛
PartNo 40X0343 OrderQuantity 1.00 for Line 1
PartNo C734X77G OrderQuantity 2.00 for Line 2
但我只得到最后一场比赛,而不是两者。任何帮助都会很棒
正则表达式:
(?x)Required\sDate
(?<Line>__
(?<PartNo>[a-zA-Z0-9-]*)\S
(?<OrderQuantity>[0-9.]+)
)*
字符串
__Required Date__40X0343 1.00__C734X77G 2.00__Net Order:__Sales Tax:__Freight:__Order Total:__0.00 __0.00 __5,328.50 __5,328.50 __or by fax
正则表达式工具的结果
Full match 2-44 `Required Date__40X0343 1.00__C734X77G 2.00`
Group `Line` 29-44 `__C734X77G 2.00`
Group `PartNo` 31-39 `C734X77G`
Group `OrderQuantity` 40-44 `2.00`
编辑以更好地说明我的问题
【问题讨论】:
-
您能否进行编辑以更清晰地显示输入和预期输出。
-
试试这个:(?__(?
[a-zA-Z0-9-]+)\s(?[0-9.]+))+?。您将获得 2 场比赛。
标签: .net regex nsregularexpression