我想从pdf文件中获取一堆公式。公式前面的公式描述如下:
Revenues (IQ_REV_UTI)
Other Revenues, Total (IQ_OTHER_REV_UTI)
Total Revenues (IQ_TOTAL_REV_UTI)
我只想抓住括号内的所有内容(即IQ_REV_UTI)。
我可以使用以下正则表达式匹配我想要的所有内容:IQ\w+
但是,我在我的mac上使用的程序(称为模式)不允许我提取匹配的文本。它只能让我找到并替换。因此,我需要找到一种方法来匹配除我想要提取的内容之外的所有内容。然后我可以用任何东西替换它,希望我将留下我所追求的东西(即括号内的论坛)。或者,是否还有其他正则表达式程序可以让我简单地提取匹配的文本?
答案 0 :(得分:3)
我不确定我理解你的问题,但你可以像这样使用grep:
grep -Eo "IQ\w+" yourfile
IQ_REV_UTI
IQ_OTHER_REV_UTI
IQ_TOTAL_REV_UTI
根据您修改后的帖子,我觉得您只能在应用程序中使用搜索和替换,而外部脚本/工具对您没有帮助。那么,这个怎么样:
search for ".*(" and replace with "nothing"
search for ").*" and replace with "nothing"
根据您的应用程序接受的模式,搜索字符串可能是
"*("
".*("
和
").*"
")*"
答案 1 :(得分:0)
您可以像这样使用正则表达式:
use warnings;
use strict;
my @file = ('Revenues (IQ_REV_UTI)', 'Other Revenues, Total (IQ_OTHER_REV_UTI)', 'Total Revenues (IQ_TOTAL_REV_UTI)', 'Line with no brackets...');
foreach (@file){
my ($info) = /\((.+?)\)/;
print "$info\n" if $info;
}
打印:
IQ_REV_UTI
IQ_OTHER_REV_UTI
IQ_TOTAL_REV_UTI
答案 2 :(得分:0)