我需要使用正则表达式来检查条目的第二部分是否在范围内。该条目将是例如:“ 25-2000”。因此,第一个数字和连字符并不重要。
我使用了表达式的第二部分:
[^-]*$
我想用以下表达式评估数字是否在1700-2100范围内:
(^(1[7-9][0-9][0-9]|20[0-9][0-9]|2100)$)
我尝试将两个表达式都放在方括号中,但这是行不通的:
([^-]*$)(^(1[7-9][0-9][0-9]|20[0-9][0-9]|2100)$)
答案 0 :(得分:0)
在与数字匹配的模式之前放置-
:
-((?:1[7-9]|20)\d\d|2100)$
答案 1 :(得分:0)
您可以使用以下模式:
-(?:1[789]\d\d|20\d\d|2100)$
如果匹配,则该数字在1700-2100范围内。
您实际上并不需要合并这两种模式,也不要仅仅通过添加括号就盲目地合并模式。