TRegEx,创建从文本读取表达式的模式

问题描述 投票:0回答:1

我需要帮助用另一种条件扩展该模式。 以下图案:

1 \d{6}-\d\d?[A-Za-z]?

适用于表达式:

111123-1, 111123-1X, 111123-1XZ, 111123-21, 111123-21Z, 111123-213,

在字符空间之后还包含可选单词“INV”或“PL”的模式应该是什么样子?

111123-1 INV, 111123-1X INV, 111123-1XZ INV, 111123-21 INV, 111123-21Z INV, 111123-213 INV,

我尝试过,但不起作用:

\d{6}-\d(?:[INV][PL][A-Za-z0-9])?

c++builder
1个回答
0
投票

您显示的第一个模式与您提供的任何表达式都不匹配。

\b1\d{5}-\d\d*[A-Za-z]*\b
\b1\d{5}-\d\d?[A-Za-z0-9]*\b
匹配所有 6 个。

至于支持

INV
PL
,这有效:

\b1\d{5}-\d([A-Za-z0-9])*( (INV|PL))?\b

© www.soinside.com 2019 - 2024. All rights reserved.