使用正则表达式提取括号内文件的一部分

德罗纳查里亚

我有一个以下格式的文件:

some text
some more text
. . .
. . .
data {
1 2 3 5 yes 10
2 3 4 5 no  11
}
some text
some text

我想data通过以下过程使用正则表达式提取文件一部分:

proc ExtractData {fileName} {
    set sgd [open $fileName r]
    set sgdContents [read $sgd]
    regexp "data \\{(?.*)\\}" $sgdContents -> data
    puts $data
}

但这给出了以下错误:

couldn't compile regular expression pattern: quantifier operand invalid

我无法弄清楚正则表达式有什么问题。任何帮助将不胜感激。

瓦伦

使用此正则表达式

regexp {data \{(.*)\}} $sgdContents wholematch submatch
puts $submatch

wholematch匹配整个模式。你的情况是

data {
1 2 3 5 yes 10
2 3 4 5 no  11
}

并且submatch仅匹配括号内的内容,如下所示:

1 2 3 5 yes 10
2 3 4 5 no  11

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式,用于提取文件路径的一部分

提取正则表达式匹配项的一部分

提取正则表达式Java的一部分

正则表达式只提取基本文件名的一部分

Scala:使用正则表达式提取字符串的一部分

需要使用正则表达式提取字符串的一部分

使用正则表达式提取字符串的一部分

使用正则表达式提取字符串的一部分

使用正则表达式和字符串提取URL的最后一部分

在 JMeter 中使用正则表达式提取不带参数的 URL 的一部分

如何使用正则表达式提取字符串的一部分

使用正则表达式从特定位置提取字符串的一部分

TSQL使用正则表达式提取字符串的一部分

使用正则表达式提取字符串的一部分

如何使用正则表达式仅提取匹配字符串的一部分?

如何使用python正则表达式提取上下文的第一部分

使用正则表达式将文本的一部分提取到表中

用正则表达式匹配文件路径的一部分

使用正则表达式替换字符串的一部分

仅使用正则表达式匹配网址的一部分

如何使用正则表达式跳过String的一部分?

如何使用正则表达式删除文本的这一部分?

如何使用grep排除正则表达式的一部分

使用正则表达式获取匹配值的一部分

使用正则表达式获取网址的最后一部分

正则表达式使用python解析URL的一部分

使用正则表达式屏蔽字符串的一部分

使用正则表达式只能包含一部分的序列

使用正则表达式在div内获取文本的一部分