Regex 如何强制字符串中的最后一个字符在一定范围内?
我有一个正则表达式,它允许值范围为“1111”-“999999”,不包括“0”的任何实例:Regex 如何强制字符串中的最后一个字符在一定范围内?,regex,Regex,我有一个正则表达式,它允许值范围为“1111”-“999999”,不包括“0”的任何实例: ^([1-9]){4,6}$ 这是我的工作,除了我的要求已被修改。我现在必须禁止该范围内的最后一个“9”,以便最后一个字符的最大值为“8”,例如 1111 - 9998, or 1111 - 99998, or 1111 - 999998 如何修改此正则表达式以满足新标准?此正则表达式如何 ^([1-9]){3,5}[1-8]$ 这个怎么样 ^([1-9]){3,5}[1-8]$ 第一个选项: 第
^([1-9]){4,6}$
这是我的工作,除了我的要求已被修改。我现在必须禁止该范围内的最后一个“9”,以便最后一个字符的最大值为“8”,例如
1111 - 9998, or 1111 - 99998, or 1111 - 999998
如何修改此正则表达式以满足新标准?此正则表达式如何
^([1-9]){3,5}[1-8]$
这个怎么样
^([1-9]){3,5}[1-8]$
第一个选项:
第二选项:
负前瞻(?!*9$)
不允许9
位于末尾
第三个选项:
负前瞻(?!*0)
不允许0
以文本形式出现。第一个选项:
第二选项:
负前瞻(?!*9$)
不允许9
位于末尾
第三个选项:
负前瞻
(?!*0)
根本不允许0
出现在文本中。非常好-但有一点,它需要范围1-8
而不是0-8
,所以我编辑了答案以反映。我必须等待大约7分钟才能将其标记为正确。@DaveDev-(…)
不需要太多-但有一件事,它需要范围1-8
而不是0-8
,所以我编辑了答案以反映。我必须等待大约7分钟才能将其标记为正确。@DaveDev-(…)
是否不需要WTF?为什么要否决这个?这不是一个有效的问题吗?WTF?为什么要否决这个?这不是一个有效的问题吗?
^(?!.*9$)[1-9]{4,6}$
^(?!.*0)(?!.*9$)\d{4,6}$