当前位置:  开发笔记 > 编程语言 > 正文

Perl的/ m正则表达式修饰符在Windows上的匹配方式不同吗?

如何解决《Perl的/m正则表达式修饰符在Windows上的匹配方式不同吗?》经验,为你挑选了1个好方法。

以下Perl语句在Unixish机器上的行为相同.他们在Windows上的表现有所不同吗?如果是的话,是不是因为魔术\n?

  split m/\015\012/ms, $http_msg;
  split m/\015\012/s, $http_msg;

我从Win32烟雾测试仪上的一个CPAN模块上出现故障.它看起来像是一个\ r \n vs \n \n \n问题.我最近做的一个改变是将// m添加到我的正则表达式中.



1> bart..:

对于这些正则表达式:

m/\015\012/ms
m/\015\012/s

/ m和/ s都没有意义.

/ s:也.匹配\n.你的正则表达式不包含.

/米:品牌^$旁边嵌入匹配\n字符串英寸 你的正则表达式不包含^nor $或者他们的同义词.

如果你的输入句柄(套接字?)在文本模式下工作,那么可能的是,在Windows上删除了\r(\015)字符.

那么该怎么办?我建议将\015字符设为可选字符,并将其拆分

/\015?\012/

不需要/ m,/ s甚至领先m//.那些只是货物崇拜.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有