我有这个要求,而且我的智慧结束了。知道如何让这个工作吗?
该字段接受单个值或范围作为过滤器的一部分。范围示例:“A-D”,所有客户名称的名称均以A,B,C或D开头; “SA-SP”,所有名称均以SA,SB,...,SP开头; “MILG”,所有名称均以Milg开头的客户名称;
添加帐户名称时,范围不应重叠。示例:A-Q,P-Z无效,因为P-Q范围重叠。
答案 0 :(得分:0)
不是纯正的正则表达式。正则表达式无法检查匹配的字符是否比之前匹配的字符“小”。
我建议匹配模式,用c#这样的
^\p{L}+(-\p{L}+)?(?:,\s*\p{L}+(-\p{L}+)?)?$:
在Javascript中将\p{L}
替换为[A-Za-z]
然后用“,”拆分并检查是否
所有找到的范围模式都是有效范围==>第一个范围的结束是在开始之后(即,开始字符“小于结束字符”)。
范围不重叠==>第一个范围的开始在其他范围之外,如果第一个范围的结尾也不在另一个范围内。