Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何强制字符串中的最后一个字符在一定范围内?_Regex - Fatal编程技术网

Regex 如何强制字符串中的最后一个字符在一定范围内?

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]$ 第一个选项: 第

我有一个正则表达式,它允许值范围为“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]$
第一个选项:

第二选项:

负前瞻
(?!*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}$