gpt4 book ai didi

javascript - 为什么 Javascript 正则表达式中的 "or"运算符没有被转义

转载 作者:行者123 更新时间:2023-12-03 09:15:20 28 4
gpt4 key购买 nike

我试图检查“mystring”和结束字符(管道)之间是否有值。但是

new RegExp('mystring:.+\|').test('bla')

评估结果为 true,即使我转义了“|”运算符(operator)。我试图实现的目标是:

new RegExp('mystring:.+\|').test('mystring:|')

计算结果为 False(因为“mystring:”和转义的“|”之间没有任何内容。

new RegExp('mystring:.+\|').test('mystring:something|')

评估为真。

这不是我看到的行为,因为所有内容都评估为 True 并且它看起来不像“|”正在逃脱...

最佳答案

转义反斜杠。如果在 RegExp 构造函数中使用 ",则必须再次转义正则表达式中存在的所有反斜杠。

new RegExp('mystring:.+\\|').test('mystring:something|')

new RegExp('mystring:.+[|]').test('mystring:something|')

关于javascript - 为什么 Javascript 正则表达式中的 "or"运算符没有被转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31973787/

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