-3

可能重复:
在 CSV 中搜索值

我创建了一个 perl 脚本。假设我想在包含 äbcd 的 CSV 文件中搜索“abc”。我编写的脚本将 abcd 显示为实际上我不想要的输出,任何人都可以帮助解决这个问题。

4

2 回答 2

1

问题是在 unicode 文件中搜索 ANSI 字符串。我认为您可以通过查看此正则表达式教程来最好地回答您的问题,该教程指出了一个类似于您的示例。

http://www.regular-expressions.info/unicode.html

于 2013-01-23T14:07:12.550 回答
0

我猜你需要在 perl 中匹配确切的单词:

在 perl 中使用以下正则表达式:

(/\b"your_word"\b/

测试:

没有 \b

> echo 'abcd'|perl -lne 'if(/abc/){print}'
abcd

与 \b

> echo 'abcd' | perl -lne 'if(/\babc\b/){print}'
> 
> echo 'abc' | perl -lne 'if(/\babc\b/){print}'
abc

通过查看您的代码,您正在执行此操作:

(grep /$curr/, @nodes) 

所以将其更改为 : (grep /\b$curr\b/, @nodes) 应该可以

于 2013-01-23T14:13:44.757 回答