gpt4 book ai didi

javascript - 恼人和奇怪的正则表达式问题 : 'io\.' get's a match on the word 'function'

转载 作者:搜寻专家 更新时间:2023-10-31 22:56:33 25 4
gpt4 key购买 nike

从 Node REPL 的事情,

> 'function'.search('io\.')
5

我真的需要它只匹配“io”。而不是“功能”或中间只有“io”的任何东西......

更奇怪的事情:

> 'io'.search('io\.')
-1
> 'ion'.search('io\.')
0

看来我没有转义点字符..?但我用的是“\”……对吗?我在 http://www.regextester.com/ 上都测试过它和 http://regexpal.com/它按照我认为应该的方式工作。

我做错了什么? node.js 中的正则表达式与我习惯的有所不同吗?

EDIT1:在 Google Chrome 浏览器的 javascript 控制台中,我也得到了

'function'.search('io\.')
5

所以它可能是 v8 的东西......对吗?

EDIT2:我从 Firefox 的 javascript 控制台得到了相同的结果,所以这不是 v8 的东西......这里发生了什么?我真的很困惑......

最佳答案

您的正则表达式是正确的,但您也必须对其进行编码才能将其放入字符串中。因此,您的(正确的)正则表达式如下所示:

io\.

但是,反斜杠也是字符串转义字符。为了创建包含该正则表达式的字符串,您必须转义反斜杠:

'io\\.'

按照您的写法,字符串实际上包含 io.,它正确匹配 function

关于javascript - 恼人和奇怪的正则表达式问题 : 'io\.' get's a match on the word 'function' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6083330/

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