0

我做了什么:

grep -E -o -e "[^"]+"

它可以提取,例如:“Poland”和“New York”,但由于 'á' 的存在而无法提取“Marcos Juárez”......它将输出削减为“Marcos Ju”和“rez”

我怎样才能防止这种情况?

4

2 回答 2

0

我不认为这是一个正则表达式问题。这可能是 Unicode 或宽字符问题。
您的正则表达式应该是非"[^"]+"双引号。

我不知道 unix 命令行,但是分隔"[^']+"参数的是什么,它是由空格完成的吗?

试试看".*?",应该匹配。如果不是它的unicode问题。

于 2013-11-05T19:46:27.030 回答
0

尝试:

grep -Po  '(?<=\")(.*?)(?=\")'

对我来说,它正确输出了所有三个。

于 2013-11-05T22:03:53.257 回答