Visual Studio 2015 CE Javascript 编辑器无法识别正则表达式中的“(?”

Visual Studio 2015 CE Javascript editor not recognizing '(?' in regex

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

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

出于某种原因,问号是 "breaking" 语法,代码编辑器将其显示为错误,尽管正则表达式按预期工作。

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

各位程序员大家好!

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

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

您可以自己搜索 Visual Studio Extension Marketplace,我会寻找提供 "JavaScript syntax highlighting" 或 "updated JavaScript grammar" 等内容的搜索。

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

  • Regex Editor - "IntelliSense, syntax coloring, in-place testing and more for your regular expressions, right inside the editor!"