gpt4 book ai didi

javascript - 使用\b 元字符与不使用它的结果相同

转载 作者:行者123 更新时间:2023-11-29 20:57:35 24 4
gpt4 key购买 nike

我正在学习 JavaScript 中的正则表达式,我面临的问题是我试图理解为什么\b 元字符使用起来如此特殊?我认为不使用它与使用它没有区别,那么使用它和不使用它有什么区别?这就是我的意思。

与\b

<!DOCTYPE html>
<html>
<body>

<p>Click the button to do a global search for "W3" at the beginning or end of a word in a string.</p>

<button onclick="myFunction()">Try it</button>

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

<script>
function myFunction() {
var str = "Visit W3Schools";
var patt1 = /\bW3/g;
var result = str.match(patt1);
document.getElementById("demo").innerHTML = result;
}
</script>

</body>
</html>

没有\b

<!DOCTYPE html>
<html>
<body>

<p>Click the button to do a global search for "W3" at the beginning or end of a word in a string.</p>

<button onclick="myFunction()">Try it</button>

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

<script>
function myFunction() {
var str = "Visit W3Schools";
var patt1 = /W3/g;
var result = str.match(patt1);
document.getElementById("demo").innerHTML = result;
}
</script>

</body>
</html>

我已经通过阅读它的定义知道它的含义,但我只是想问,如果它在上面的 2 个代码示例中产生相同的东西,为什么还要使用它?如果有人可以向我展示 2 个代码示例以说明它们将如何给出不同的结果,我将非常感激。我什至在中间移动了火柴,但它仍然给我带来了与不使用它相同的结果。

来源

https://www.w3schools.com/jsref/jsref_regexp_begin.asp

最佳答案

您的两个示例都无法执行 html 声明的操作。转到 https://www.regextester.com/并使用 blahW3blahW3blahblahW3 作为测试字符串。您的正则表达式应该匹配最后两个,而不是第一个。

你需要:(\bW3|W3\b)

(匹配单词开头的W3 (\bW3) OR (|) 匹配单词结尾的W3 (W3\b)

关于javascript - 使用\b 元字符与不使用它的结果相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48511264/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com