提取Markdown代码块节点
概述
Extract Markdown Code Blocks节点用于从Markdown文本中提取代码块。它会提取所有代码块以及每个块指定的语言。该节点输出第一个匹配的块、所有匹配的块以及为这些块指定的语言。
Markdown代码块的定义是两边各用三个反引号包围的代码块。例如:
Here is some JavaScript code:
```javascript
console.log('Hello, world!');
```
当处理那些经过大量训练以使用markdown数据回复的LLM时,这个节点非常有用。
- 输入
- 输出
- 编辑器设置
输入项
标题 | 数据类型 | 描述 | 默认值 | 备注 |
---|---|---|---|---|
Input | string | The Markdown text from which to extract code blocks | (required) | The input will be coerced into a string if it is not a string |
输出
标题 | 数据类型 | 描述 | 备注 |
---|---|---|---|
First Block | string | The first code block found in the input Markdown text | If no code block is found, this output will not be ran |
All Blocks | string[] | All code blocks found in the input Markdown text | If no code block is found, this output will be an empty array |
Languages | string[] | The languages specified for each code block in the input Markdown text, in the order they appear | If no language is specified for a code block, the corresponding element in the array will be an empty string |
编辑器设置
该节点没有可配置的编辑器设置。
示例1:从Markdown文本中提取代码块
创建一个文本节点并将文本设置为以下Markdown内容:
这是一段JavaScript代码:
```javascript
console.log('Hello, world!');
```
这是一段Python代码:
```python
print('Hello, world!')
```
就是这样!创建一个提取Markdown代码块节点,并将文本节点连接到其
Input
输入端口。运行图表。Extract Markdown Code Blocks节点的
First Block
输出应为console.log('Hello, world!');
,All Blocks
输出应为一个包含console.log('Hello, world!');
和print('Hello, world!')
的数组,而Languages
输出应为一个包含javascript
和python
的数组。
错误处理
Extract Markdown Code Blocks节点在正常情况下不会报错。如果输入文本不包含任何代码块,First Block
输出将不会运行,且All Blocks
和Languages
输出将是空数组。
常见问题
问:如果代码块未指定语言会发生什么?
A: Languages
输出数组中对应的元素将是一个空字符串。
问:如果输入文本包含非Markdown文本会怎样?
A: 该节点将忽略任何非Markdown文本,仅提取代码块。如果输入文本不包含任何代码块,则First Block
输出将不会运行,且All Blocks
和Languages
输出将为空数组。
另请参阅