正则表达式来测试字符串中的点数

问题描述 投票:0回答:3
javascript html css regex dot
3个回答
0
投票

使用这个正则表达式

/\.{2,}/g

量词

{}
表示长度为2或更多,只能将字符串设置为内部HTML内容,不能直接设置true或false等布尔值。

let text = "Is this .. all there is?";
let text2 = "Is this . all there is?";
let pattern =/\.{2,}/g;// use this regex
let result = pattern.test(text);
let result2 = pattern.test(text2);

document.getElementById("demo").innerHTML = `${text}'s result: ${result?"true":"false"}`;

document.getElementById("demo2").innerHTML = `${text2}'s result: ${result2?"true":"false"}`;
<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>
<p id="demo2"></p>

</body>
</html>


0
投票

“...如何测试一个字符串是否包含 1 个或多个放在一起的点。...”

使用

^
$
sytnax,表示行的开始和结束。

var s = 'abc ... 123'
console.log(/^[^\.]+$/g.test(s))


0
投票

您的正则表达式不适合您的目的。它匹配列表中不存在的单个字符:[^.+](

.
+
字符),那么如果字符串包含任何不是
true
.的字符,它将始终返回
+
 
.

您可以使用以下模式检查字符串是否包含多个放在一起的点:

/\.\.+/g

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>

<script>
let text = "Is this .. all there is?";
let pattern = /\.\.+/g;// check if there is more than one dot put together 
//should return true
let result = pattern.test(text)

document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>

© www.soinside.com 2019 - 2024. All rights reserved.