我想要匹配前面内容中的键和一些数组值,以便将它们转换为翻译记忆库中的标记.基本上,任何匹配的键和值都会被过滤掉,并显示为不可翻译的标签.
该系统支持Java regexp.
以下是最重要的问题:
The array values do not have a hyphen anymore due to some preprocessing.个
---
title: This is a title
label:
one
two
three
ultra
description: "this is a description text"
other_key: value
---
note: this is a note outside the front matter
tip: this is a tip ...
one: this is a one
The problem:个
- 在前面的问题之外,可以有相同的文本.目前,有注解、提示和一条(见上文).
- 标签或值将来可能会更改,每次更改正则表达式并不理想.我已经添加了Ultra和Other_Key作为上面的示例.
Important note:文件规定:"我们将拒绝在包含其他量词(除所有格以外)的组上使用带量词的复杂正则表达式(所有格除外)."
根据这意味着什么,我们可能需要采取非常幼稚的方法:/
到目前为止我的正则表达式:
- 测试1:
^one|^two|^three|^((\w|-)*)(:)
- 测试2:
^one|^two|^three|^description:|^title:|^label:
- 测试3:
^(---(?:\n.*)*)\s*(---)$