javascript - 正则表达式获取数组中的所有 JS 类名

标签 javascript node.js regex

我正在尝试编写一个简单的正则表达式来匹配文件中的所有类名。它应该匹配它们,无论大括号前有空格还是没有空格。

例如

class myClass {...}

返回['myClass']

class myClass {....} class Foo{...}

返回 ['myClass', 'foo']。

等等。

这是我到目前为止所拥有的,但当括号前没有空间时它似乎不起作用:

([a-zA-Z_{1}][a-zA-Z0-9_]+)(?=\{)

最佳答案

使用positive lookbehind and lookahead :

const str = 'class myClass {....} class Foo{...} class Bar   { /* this is a class comment */ }';

const result = str.match(/(?<=class\s)(\w+)(?=\s*{)/g);

console.log(result)

关于javascript - 正则表达式获取数组中的所有 JS 类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58069480/

相关文章:

javascript - Google Maps Geocoding API 中的 CORS 错误

node.js - 使用 yeoman 生成终极种子时出错

javascript - VS Code 在执行自动导入后不包含 .js

node.js - 具有不同调用者的 bash 别名

regex - 基于 YYYY-WW 的日期的正则表达式

ios - 从第一个空格拆分 NSString

regex - Apps 脚本正则表达式 - 不区分大小写

javascript - HTML 文件上传 - 为什么要使用 IFrame

javascript - 跳转到 BarUI 播放列表中的轨道 SoundManager2

javascript - 在后续点击时使 onclick 事件切换显示?