首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我被跨系统的换行符折磨疯了~~~

不同的操作系统使用的换行符不同,如 Windows 使用的换行符是\r\n (回车+换行), Unix/Linux使用的换行符是\n (换行),Mac 使用的换行符是\r (回车)。...在Unix/Linux系统中,行尾只使用换行符 \n,系统会自动加上\r实现 回车+换行 的操作; 在 Mac 系统中,行尾只使用回车符 \r,系统会自动加上 \n实现 回车+换行 的操作; 这对我们通常也没什么影响...metaphlan_to_stamp.pl,可能在 windows 下做了修改,保存时自动加了\r,而\r在 Unlix/Linux 上显示为^M,运行时弹出如下错误提示: metaphlan_to_stamp.pl: /usr/bin/perl...^M 解释器错误:没有那个文件和目录 找不到名字为perl^M的解释器,实际应该是用perl做解释器,因为这个是perl脚本。...其它语言脚本也会有类似问题,如bash^M, python^M等。 怎么修改呢? 找到这个程序,把\r去掉即可。用下面的命令。

2.7K30

基于Python的语料库数据处理(七)

二、元字符的转义 前面我们讲到,正则表达式中有些元字符表示特殊的含义,如“.”可以匹配所有字母、数字、空白和除换行符以外的任意符号;“\”加在一些特殊字母前有特殊含义,如“\w”表示匹配字母或数字或下划线...三、换行符、回车符、制表符 文本中有些字符是肉眼不可见的,比如文本每一段的末尾都有我们看不到的换行符或回车符。正则表达式中用“\n”或“\n\r”表示换行符或回车符。...不同的操作系统使用不同的换行符或回车符,如在Mac OS系统和Linux系统中,每行结尾用“\n”表示换行符或回车符;而在微软Windows系统中,每行结尾用“\n\r”表示换行符或回车符。...如果需要搜索换行符或回车符,我们可以尝试使用”\n”或“\n\r”来搜索。另外,我们可以用“\t”来搜索制表符。下表列举了换行符、回车符、制表符的转义。...符号 注释 \n 匹配换行符(newline,linefeed) \r 匹配回车符(carriage return) \t 匹配制表符(tab)

84710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    grep中使用d匹配数字不成功的原因

    的正则表达式(Perl Regular Expression 又叫 Perl RegEx 简称 PREs)  说明:只有掌握了正则表达式,才能全面地掌握 Linux 下的常用文本工具(例如:grep、...\bfrog\b')、'\' \ \ 不支持 不支持(但可以使用\b来匹配单词,例如:'\bfrog\b' () 匹配表达式,例如:不支持'(frog)' 不支持(但可以使用,如:...匹配除换行符('\n')之外的任意单个字符(注意:awk 指令中的句点能匹配换行符) . .(如果要匹配包括“\n”在内的任何一个字符,请使用:'(^$)|(.) . ....(等价于 \x0a 和\cJ) 不支持 不支持 \n \n \f 匹配一个换页符(等价于\x0c 和\cL) 不支持 不支持 \f \f \r 匹配一个回车符(等价于 \x0d 和\cM) 不支持 不支持...\r \r \\ 匹配转义字符本身"\" \\ \\ \\ \\ \cx 匹配由 x 指明的控制字符,例如:\cM匹配一个Control-M 或回车符,x 的值必须为A-Z 或 a-z 之一,否则,将

    4.1K10

    正则表达式基础(1)

    例如,cM 匹配 Control-M 或回车符。x 的值必须在 A-Z 或 a-z 之间。如果不是这样,则假定 c 就是“c”字符本身。 d 数字字符匹配。等效于 [0-9]。 D 非数字字符匹配。...n 换行符匹配。等效于 x0a 和 cJ。 r 匹配一个回车符。等效于 x0d 和 cM。 s 匹配任何空白字符,包括空格、制表符、换页符等。与 [ fnrtv] 等效。 S 匹配任何非空白字符。...这些元字符也非常普遍,我之所以将他跟上面的通用字符分开,是因为这种类似Perl风格的正则表达式并不能被所有的工具识别。比如Linux下的egrep就无法识别这种表示方法。...@[]_`{|}~]等效 [:print:] 可打印字符;包括[:graph:]中的所有字符再加上空格字符 [:space:] 空白字符如空格符、制表符、回车符、换行符、垂直制表符以及换页符。

    42810

    posix,perl正则表达式区别

    PERL兼容正则中可能使用的修正符(修正符中的空格和换行被忽略,其它字符会导致错误): i (PCRE_CASELESS): 匹配时忽略大小写。...m(PCRE_MULTILINE): 当设定了此修正符,行起始(^)和行结束($)除了匹配整个字符串开头和结束外,还分别匹配其中的换行符(\n)的之后和之前。...s(PCRE_DOTALL): 如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。...PERL兼容正则匹配除了换行符外的任意一个字符 ....",其中 x 是任意字符 \e escape(’0B) \f 换页符 formfeed(’0C) \n 换行符 newline(’0A) \r 回车符 carriage return(’0D) \t 制表符

    1.4K20

    正则表达式

    “\n”匹配换行符。序列“\”匹配“\”而“(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。 ^ 匹配输入字符串的开始位置。...这个地方不正确,有问题此处用或任意一项都不能超过2位,如“(?如(?回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c”字符。 \d 匹配一个数字字符。等价于[0-9]。...grep 要加上-P,perl正则支持 \D 匹配一个非数字字符。等价于0-9。grep要加上-P,perl正则支持 \f 匹配一个换页符。等价于\x0c和\cL。 \n 匹配一个换行符。...\r 匹配一个回车符。等价于\x0d和\cM。 \s 匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。 \S 匹配任何可见字符。等价于 \f\n\r\t\v。

    21020

    初识C语言(上)

    如:C、C++、Delphi等,现阶段因明确知道C语言为编译型语言。 优点及缺点:程序执行效率高,但依赖于编译器,跨平台性较差。...如:Python、JavaScript、Perl、Shell等。 优点及缺点:程序执行效率比较低,依赖于解释器,但跨平台性好。...存储类型字(4个) auto、extern、register、static 4.其他类型关键字(4个) const、sizeof、typedef、volatile 2.字符和ASCII编码 字符:在C语言中用单引号引起来的就是字符...\ n:换行符。 \ r:回车符,光标移动到同一行的开头。 \ t:制表符,光标移动到下一个水平制表位,通常是下一个4或8的倍数。...1.\ ddd:ddd表示1~3个八进制位的数字,如:\130表示的是字符X,\132表示的是字符Z。 2.\ xdd:dd表示2个十六进制数字,如:\x30表示的是字符0。

    6800

    PHP中正则的使用

    ,更利于我们在perl和php之间切换,所以这里重点介绍PCRE正则的使用。...PCRE正则表达式 PCRE全称为Perl Compatible Regular Expression,意思是Perl兼容正则表达式。...在PCRE中,通常将模式表达式(即正则表达式)包含在两个反斜线“/”之间,如“/apple/”。...;等价于 \x0a 或 \cJ         匹配一个回车符等价于\x0d 或 \cM \t     匹配一个制表符;等价于 \x09\或\cl \v     匹配一个垂直制表符;等价于\x0b或\ck...i     -可同时匹配大小写字母 M     -将字符串视为多行 S     -将字符串视为单行,换行符做普通字符看待,使“.”匹配任何字符 X     -模式中的空白忽略不计     U     -

    3.7K30

    正则表达式

    这个地方不正确,有问题此处用或任意一项都不能超过2位,如"(?<!95|98|NT|20)Windows正确, "(?如(?...例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的"c"字符。 \d 匹配一个数字字符。等价于[0-9]。...grep 要加上-P,perl正则支持 \D 匹配一个非数字字符。等价于[^0-9]。grep要加上-P,perl正则支持 \f 匹配一个换页符。等价于\x0c和\cL。 \n 匹配一个换行符。...注:上面摘自《正则表达式之道》 对于符号的简单分析: 字符组 : [字符组] 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示 字符分为很多类,比如数字、字母、标点等等。...何在一起就是 取尽量少的任意字符,一般不会这么单独写,他大多用在: .*?x 就是取前面任意长度的字符,直到一个x出现

    1K120

    java转义字符之换行字符

    我们知道,java代码中,\r和\n和\r\n都表示换行,当我们想输出“\n”时,如果直接写System.println(“\n”);是看不到任何东西的,因为其自动被转义为换行了。...这里先给出转义字符: 使用示例: 输出结果为: 注: \r是回车符; \n是换行符。 注:写程序时,代码里面的换行,我们一般都使用’\n’表示换行。...如: 注:对于文件里的换行(行与行之间,末尾其实是有符号来识别换行的,只是转义换行了,没显示出来), Windows系统里,文件每行结尾是”换行>”,即”\r\n” Mac系统里,文件每行结尾是...注: 用’\n’作为作为换行符的文件,用Windows的记事本打开时 会没有换行; 用”\r\n”作为换行符的文件(windows文件),用Unix/Linux或Mac的vim指令打开时 会将...Mac的zsh中,采用\n作为换行符,遇到\r将会被解释为回车符,即移动到该行的行首,然后继续执行代码。

    9K40

    正则表达式

    例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。...“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。...例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c”字符。 \d 匹配一个数字字符。等价于[0-9]。 \D 匹配一个非数字字符。...\n 匹配一个换行符。等价于\x0a和\cJ。 \r 匹配一个回车符。等价于\x0d和\cM。 \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

    39331
    领券