Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex Perl正则表达式帮助_Regex_Perl - Fatal编程技术网

Regex Perl正则表达式帮助

Regex Perl正则表达式帮助,regex,perl,Regex,Perl,我希望匹配带有前缀的文件中的字符串 /** 还有一个后缀 */ 中间有任意数量的字符/空格/换行符 例如: 到目前为止,我有m/(\/\*\*).*(\*\/)/,但是这不处理换行符。我知道修复必须简单,但我对正则表达式的经验非常有限。 附加问题:有人有学习正则表达式的好网站吗?在其后面添加s: m/(\/\*\*).*?(\*\/)/s 但是,如果您使用的是源代码,请小心: print 'a string /**'; int a = b + c; print '*/'; // /**

我希望匹配带有前缀的文件中的字符串

/**
还有一个后缀

*/
中间有任意数量的字符/空格/换行符

例如:

到目前为止,我有
m/(\/\*\*).*(\*\/)/
,但是这不处理换行符。我知道修复必须简单,但我对正则表达式的经验非常有限。
附加问题:有人有学习正则表达式的好网站吗?

在其后面添加
s

m/(\/\*\*).*?(\*\/)/s
但是,如果您使用的是源代码,请小心:

print 'a string /**';
int a = b + c;
print '*/';

// /**
a = a - c;
// */
如果要学习正则表达式,实际上只有一个在线资源:

在后面添加
s

m/(\/\*\*).*?(\*\/)/s
但是,如果您使用的是源代码,请小心:

print 'a string /**';
int a = b + c;
print '*/';

// /**
a = a - c;
// */

如果要学习正则表达式,实际上只有一个在线资源:

不使用带make.'的/s。行为不同,以下内容也应该有效:

m/(\/\*\*)(\r?\n|.)*(\*\/)/
为了一个学习perl的地方

这是我最终的参考,永远

但是如果你不喜欢阅读一些有点无聊的手册式的东西。 试试Jeffrey Friedl从O'Reilly那里掌握正则表达式,这更有趣


如果不将/s与make.'一起使用,则应使用不同的行为,以下操作也应起作用:

m/(\/\*\*)(\r?\n|.)*(\*\/)/
为了一个学习perl的地方

这是我最终的参考,永远

但是如果你不喜欢阅读一些有点无聊的手册式的东西。 试试Jeffrey Friedl从O'Reilly那里掌握正则表达式,这更有趣

您的特定正则表达式(带换行符)可以与
\/\*\*[\d\d]*?\*\/
匹配
\d
的一个副作用是它与换行符匹配,并且可以以这种方式使用

在Perl中,还可以使用查找各种源代码注释

已经提到了一些最好的链接(Friedl的书和)

我的regex网站如下:

  • Perl。Perl正则表达式的最佳介绍
  • Perl的正则表达式文档
  • Perl快速入门指南
  • 在帕尔蒙克斯
  • 在线正则表达式测试仪
  • 在线测试仪
  • 参考文献
  • 拉里·沃尔
  • 您的特定正则表达式(带换行符)可以与
    \/\*\*[\d\d]*?\*\/
    匹配
    \d
    的一个副作用是它与换行符匹配,并且可以以这种方式使用

    在Perl中,还可以使用查找各种源代码注释

    已经提到了一些最好的链接(Friedl的书和)

    我的regex网站如下:

  • Perl。Perl正则表达式的最佳介绍
  • Perl的正则表达式文档
  • Perl快速入门指南
  • 在帕尔蒙克斯
  • 在线正则表达式测试仪
  • 在线测试仪
  • 参考文献
  • 拉里·沃尔

  • 请注意,我并不是说没有其他好的在线资源,但我发布的资源应该足以让任何新加入regex的人充分了解如何使用regex-es。请注意,我并不是说没有其他好的在线资源,但是我发布的这篇文章应该足以让任何刚接触regex的人很好地理解如何使用regex es。O'Reilly有一本学习正则表达式的好书。你可以猜出标题是什么。:)O'Reilly有一本学习正则表达式的好书。你可以猜出标题是什么。:)您可以执行:
    [\s\s]
    ,而不是
    (\r?\n |。)
    。您可以执行:
    [\s\s]
    ,而不是
    (\r?\n |。)