Sublime Text-将文本转换为JSON格式

时间:2019-04-10 12:37:50

标签: regex sublimetext

我有一个与此相似的文本文件:

Reference: 10001
Title: This is a text file
Description: A text file containing some simple strings
<0x0c>
Reference: 10002
Title: This is an xml file
Description: An xml file containing some generic data
<0x0c>

基本上,我看到类似<word>:的模式,我想在"之前和之后插入<word>,然后id喜欢在值之前和之后插入"然后是,,如下所示:

"Reference" : "10001",

到目前为止,我可以使用以下正则表达式获得整行内容:

^.*(Reference:|Title:).*$

但是我想知道是否有更好的方法来只选择我需要的文本,然后进行所需的转换。

1 个答案:

答案 0 :(得分:4)

如果您不想只匹配文本而只匹配整行,则可以使用3个捕获组并利用单词边界\b

\b(Reference|Title)(:\s*)(\d+)\b
  • \b(Reference|Title)单词边界,在组1中捕获“引用”或“标题”
  • (:\s*)在第2组中捕获一个冒号和0+个空格字符
  • (\d+)\b捕获第3组1+位数字,后跟一个单词边界

在替换中,使用3个捕获组并用双引号将第一个和第三个括起来:

"$1"$2"$3"

Regex demo