如何构建匹配140000-150000整数的mark前缀正则表达式?
解决正则匹配mark_xxxxxx(140000-150000)的问题
嘿,你的现有正则已经覆盖了140000到149999的情况,要加上150000其实很简单,只需要添加一个分支匹配特定值就行。
最终正则表达式
^mark_(14[0-9]{4}|150000)$
拆解说明
咱们来一步步看这个正则的逻辑:
^和$:锚定字符串的开头和结尾,确保整个字符串完全符合规则,不会出现mark_140000abc这种带多余字符的情况mark_:匹配固定前缀,和你原来的正则逻辑一致(14[0-9]{4}|150000):这是关键的分支结构:14[0-9]{4}:就是你原来的规则,匹配14开头后跟任意4位数字,刚好覆盖140000到149999的范围|:表示“或”的逻辑,让正则可以匹配两种合法情况中的任意一种150000:精准匹配这个唯一的上限值,确保150000被纳入合法范围
验证示例
- 合法匹配:
mark_140000、mark_149999、mark_150000、mark_145678 - 非法匹配:
mark_139999、mark_150001、mark_14abcd、abc_mark_140000
这种方式既保留了你原来的逻辑,又简洁地加入了150000的匹配,可读性也很强,以后如果范围有小调整也容易修改。
内容的提问来源于stack exchange,提问作者Stacey
相关产品推荐
相关产品推荐

