Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我做了什么:
grep -E -o -e "[^"]+"
它可以提取,例如:“Poland”和“New York”,但由于 'á' 的存在而无法提取“Marcos Juárez”......它将输出削减为“Marcos Ju”和“rez”
我怎样才能防止这种情况?
我不认为这是一个正则表达式问题。这可能是 Unicode 或宽字符问题。 您的正则表达式应该是非"[^"]+"双引号。
"[^"]+"
我不知道 unix 命令行,但是分隔"[^']+"参数的是什么,它是由空格完成的吗?
"[^']+"
试试看".*?",应该匹配。如果不是它的unicode问题。
".*?"
尝试:
grep -Po '(?<=\")(.*?)(?=\")'
对我来说,它正确输出了所有三个。