-1

我有这个要求,我束手无策。知道如何让它工作吗?

该字段接受单个值或范围作为过滤器的一部分。范围示例:“AD”,所有名称以 A、B、C 或 D 开头的客户名称;“SA-SP”,所有以 SA、SB、...、SP 开头的名称;“MILG”,名称以Milg开头的所有客户名称;

添加帐户名称时,范围不应重叠。示例:AQ、PZ 无效,因为 PQ 范围重叠。

4

1 回答 1

0

不是纯正则表达式。正则表达式无法检查匹配的字符是否比之前匹配的字符“小”。

我建议匹配模式,在 c# 中是这样的

^\p{L}+(-\p{L}+)?(?:,\s*\p{L}+(-\p{L}+)?)?$:

在 Javascript 中替换\p{L}[A-Za-z]

然后用“,”分割并检查是否

  1. 所有找到的范围模式都是有效范围==>第一个范围的结尾在开始之后(即开始字符比结束字符“小”)。

  2. 范围不重叠 ==> 第一个范围的开始在其他范围之外,并且如果第一个范围的结束也不在另一个范围内。

于 2013-04-15T08:07:48.557 回答