【问题标题】:Visual Studio 2015 CE Javascript editor not recognizing '(?' in regexVisual Studio 2015 CE Javascript 编辑器无法识别正则表达式中的“(?”)
【发布时间】:2020-01-14 22:14:23
【问题描述】:

我正在寻求您的帮助,因为我在使用 Visual Studio 2015 编辑器时遇到了一个奇怪的问题。我有一个 javascript 文件,其中包含一个使用后视的正则表达式,如下所示:

var regexStr = /(?<=[0-9a-zA-Z]+)(\/{2,})(?=[0-9a-zA-Z]+)/;

由于某种原因,问号“破坏”了语法,代码编辑器将其显示为错误,尽管正则表达式按预期工作。

你们知道'(?' 是否在 Visual Studio 2015 编辑器中定义为特殊字符吗?

各位程序员好!

【问题讨论】:

  • JS 语法高亮似乎错过了 ECMAScript 2018 正则表达式支持
  • @WiktorStribiżew 感谢您的评论,这可能是问题所在。我会深入研究的!
  • 我没有收到您的代码的错误或警告,尽管颜色很奇怪。你会认为正则表达式都是一种颜色。
  • @Mark 出于某种原因,当我添加问号时出现“意外的量词”错误,如果我删除它,错误就会消失。
  • @StephenMIrving 你是对的。帖子标题没看懂,马上补上。我的问题是指 VS 2015 CE,将更新线程以消除这种歧义。问候。

标签: javascript regex visual-studio-2015 lookbehind


【解决方案1】:

首先我要说的是,Visual Studio 2015 是 JavaScript 开发的次优工具。有很多更好的免费网络开发工具可供使用。这可能被视为基于意见,但开发人员在谈到工具以及使他们的工作流程更容易和更快的因素时会用脚投票,而且很少有人会在 2020 年选择 VS 2015 进行 JS 开发。所以我不得不问,是你有什么原因被锁定在使用特定的 JavaScript 软件和版本?你愿意使用不同的工具吗?如果是这样,请在下面发表评论,我将为编辑器和 IDE 添加一个选择列表,这些选择是更受欢迎的选择,很可能会让您作为开发人员的生活更轻松。

假设你想继续使用 VS 2015,不管它有多少缺陷,只是想解决这个特殊的问题,我认为你看到的可能是更新的 ECMAScript/JavaScript 语法导致 VS 2015 在灰尘。也可能这始终只是一个错误。我首先建议确保您已在 VS 2015 允许的范围内尽可能多地更新基础应用程序。您使用的是专业版还是社区版?即使您坚持使用 Visual Studio,您仍然可以获得最近一年的版本,如果您已经在使用社区版本,那么更新将是免费的。一旦您确定已尽可能多地更新软件,我建议您寻找可以帮助您解决此特定问题的扩展程序。

您可以自己搜索Visual Studio Extension Marketplace,我会寻找提供“JavaScript 语法突出显示”或“更新的 JavaScript 语法”之类的内容。

这是我刚刚发现的一个扩展,它也可能对您有所帮助:

  • Regex Editor - “IntelliSense、语法着色、就地测试等您的正则表达式,就在编辑器中!”

【讨论】:

  • 嗨,斯蒂芬,我必须坚持使用 VS 2015,因为它是工作要求,所以我无能为力。我正在使用 VS2015 的社区版,正如您所建议的,我将尝试安装更新版本的正则表达式扩展,看看是否可行。非常感谢您的帮助和时间!
  • 不客气,Marco,乐于助人。抱歉,我无法找到您问题的确切原因,但祝您能顺利解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-11
相关资源
最近更新 更多