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
Javascript regexp匹配重复多次的字符未流动的字符_Javascript_Regex - Fatal编程技术网

Javascript regexp匹配重复多次的字符未流动的字符

Javascript regexp匹配重复多次的字符未流动的字符,javascript,regex,Javascript,Regex,我构建这个regexp是为了匹配字母、数字和点 点仅在未成功重复时使用 例如: something.somethnElse.another.then.something 这是一个匹配,因为点是分开的。 但在以下情况下: something..thensomething 不匹配,因为相邻有一个或多个点 这是我的regexp,请向我推荐它为什么不工作 [a-zA-Z0-9\.]+(?!\.{2,}) 我也试过了 [a-zA-Z0-9\.]+(?![\.]+) 但它们都与成功的点相匹配你很接近

我构建这个regexp是为了匹配字母、数字和点
点仅在未成功重复时使用
例如:

something.somethnElse.another.then.something
这是一个匹配,因为点是分开的。 但在以下情况下:

something..thensomething
不匹配,因为相邻有一个或多个点
这是我的regexp,请向我推荐它为什么不工作

[a-zA-Z0-9\.]+(?!\.{2,})
我也试过了

[a-zA-Z0-9\.]+(?![\.]+)

但它们都与成功的点相匹配

你很接近。您可以使用此正则表达式:

^(?!.*?\.{2})[a-zA-Z0-9.]+$

PS:无需转义字符类内的点

您需要使用字符串开头
^
和字符串结尾
$
锚定,并将前瞻放在开头

/^(?!.*\.{2})[a-z0-9.]+$/i

首先,表达式应该被锚定,否则它只需要非常小的匹配

另外,你可以把你的表达式想象成一系列字母和数字,它们可以被一个点打断

因此:


请尝试
/^(\w+\)*\w+$/
如果至少有1个点将其他未成功后跟点的单词变为白色,则该操作将失败,但您所说的表达式应锚定是什么意思?表达式锚点的开始和结束?像
^
那样,如果不使用,如何减少匹配?谢谢,为什么是抓捕组<代码>(?:)@那不是一个捕获组。。。它是一个用于重复替换的容器:)
/^(?:[a-z0-9]+|\.(?!\.))*$/