@eslint-community / regexpp
ECMAScript的正则表达式解析器。
💿安装
$ npm install @eslint-community/regexpp
- 要求节点@^12.0.0 || ^14.0.0 || >=16.0.0。
📖用法
import {
AST,
RegExpParser,
RegExpValidator,
RegExpVisitor,
parseRegExpLiteral,
validateRegExpLiteral,
visitRegExpAST
} from "@eslint-community/regexpp"
parseRegExpLiteral(来源、期权?)
解析给定的正则表达式文本,然后生成AST对象。
这个等价于 new RegExpParser(options).parseLiteral(source)。
- 参数:
source(string | RegExp要解析的源代码。options?(RegExpParser.Options)要解析的选项。
- 返回:
- 正则表达式的AST。
validateRegExpLiteral(来源、期权?)
验证给定的正则表达式字面量。
这个等价于 new RegExpValidator(options).validateLiteral(source)。
- 参数:
source(string)验证的源代码。options?(RegExpValidator.Options)验证的选项。
处理程序visitRegExpAST (ast)
访问给定AST的每个节点。
这个等价于 new RegExpVisitor(handlers).visit(ast)。
- 参数:
ast(AST.Node) AST访问。handlers(RegExpVisitor.Handlers)回调。
RegExpParser
新RegExpParser(选择?)
- 参数:
options?(RegExpParser.Options)要解析的选项。
解析器。parseLiteral(来源,开始?结束?)
解析正则表达式字面量。
- 参数:
source(string要解析的源代码。如。"/abc/g"。start?(number)源代码中的起始索引。默认是0。end?(number)源代码的结束索引。默认是source.length。
- 返回:
- 正则表达式的AST。
解析器。parsePattern(来源,开始?,结束?、旗帜?)
解析正则表达式模式。
- 参数:
source(string要解析的源代码。如。"abc"。start?(number)源代码中的起始索引。默认是0。end?(number)源代码的结束索引。默认是source.length。flags?({ unicode?: boolean, unicodeSets?: boolean })启用Unicode模式和Unicode Set模式的标志。
- 返回:
- 正则表达式模式的AST。
解析器。parseFlags(来源,开始?结束?)
解析正则表达式标志。
- 参数:
source(string要解析的源代码。如。"gim"。start?(number)源代码中的起始索引。默认是0。end?(number)源代码的结束索引。默认是source.length。
- 返回:
- 正则表达式标志的AST。
RegExpValidator
新RegExpValidator(选项)
- 参数:
options(RegExpValidator.Options)验证的选项。
验证器。validateLiteral(源,开始,结束)
验证正则表达式字面量。
- 参数:
source(string)验证的源代码。start?(number)源代码中的起始索引。默认是0。end?(number)源代码的结束索引。默认是source.length。
验证器。validatepatpattern(源、开始、结束、标志)
验证正则表达式模式。
- 参数:
source(string)验证的源代码。start?(number)源代码中的起始索引。默认是0。end?(number)源代码的结束索引。默认是source.length。flags?({ unicode?: boolean, unicodeSets?: boolean })启用Unicode模式和Unicode Set模式的标志。
验证器。validateFlags(source, start, end)
验证正则表达式标志。
- 参数:
source(string)验证的源代码。start?(number)源代码中的起始索引。默认是0。end?(number)源代码的结束索引。默认是source.length。
RegExpVisitor
新RegExpVisitor(处理器)
- 参数:
handlers(RegExpVisitor.Handlers)回调。
visitor.visit (ast)
验证正则表达式字面量。
- 参数:
ast(AST.Node) AST访问。
📰更新日志
🍻贡献
欢迎贡献!
请使用GitHub的问题/ pr。
开发工具
npm test运行测试并度量覆盖率。npm run build将TypeScript源代码编译为index.js,index.js.map,index.d.ts。npm run clean创建的临时文件npm test和npm run build。npm run lintESLint运行。npm run update:test更新测试装置。npm run update:ids更新src/unicode/ids.ts。npm run watch运行测试--watch选择。