微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vim或gcc的无法解释的行为

我跑了这个简单的程序:

#include <iostream> #include <string> using namespace std; #include <boost/regex.hpp> int main () { // boost::regex fullname_regex ("[A–Z]+[a–z]*,[AZ][a–z]*"); boost::regex fullname_regex ("[AZ]+[az]*,[AZ][az]*"); string name; cout << "Enter you full name: " << flush; getline (cin,name); if (! regex_match (name,fullname_regex)) { cout << "Error: name not entered correctly" << endl; } return 0; }

我刚刚从某处复制的。 当我取消注释注释行(原始复制/粘贴的一部分)并注释下一个(由我自己键入)时,程序总是拒绝该名称。 否则,它按预期工作。 我正在使用vim。 我做了:set list来查看隐藏的字符和行是相同的。 我在原始行之前插入了一条长注释,以便将其向下移动,怀疑磁盘故障(非常旧的系统),但是仍然出现相同的错误。 这是一个没有GUI的ubuntu服务器,我使用腻子来做到这一点。 我不习惯linux下这样的问题,如果有人有什么可以解释这个奇怪的行为,请让我知道。 也许vim仍然使用原始页面的一些选项,这是在这里 ,并被格式化,但是:set list不显示它们?

换行问题在Linux中移动csv文件

Nginx在匹配之前是否会引用/ unescape URL字符?

将rootredirect到subdir中的CodeIgniter应用程序,避免无限循环

Nginx – 正则expression式 – search非字母数字的整个位置

如何从C源文件删除所有/ * * /注释?

那-注释掉的字符是U + 2013 EN DASH ,而不是ASCII短划线U + 002d。

由于我使用的位图字体有限,打开文件时Unicode字符已经伸出,但是可以使用g8命令打印光标下字符的UTF-8编码值,或者使用:call search('[^x00-x7F]')找到下一个非ASCII字符。

破折号不一样。 注释的长度较长,用不同的字符表示,因此解释不同。 常见复制+粘贴错误

http://en.wikipedia.org/wiki/Dash

当我在我的文本编辑器中粘贴你的代码时,我立即看到你注释行中的第一个[AZ]实际上是用了一个很长的短划线。

你想要一个简单的短跑,这是你输入的。

您似乎对“ :set list的目的感到困惑。 它的设计目的不是为了显示“奇怪”的字符:只有非常小的一组(标签,不间断空格,尾随空格…),请参阅:help 'list'的细节。

set list在这种情况下是没有帮助的。

规则空间变成非破坏空间由set list但是当从Web或PDF或邮件客户端和文本处理器进行复制粘贴时,您应该担心其他特殊字符: "经常被替换” , '等等……有一天,我有一段很长的段落,其中所有'或'用' ¹ '代替,在这种情况下很容易发现,但在其他情况下很容易被忽略。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐