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网站如下:
\/\*\*[\d\d]*?\*\/
匹配\d
的一个副作用是它与换行符匹配,并且可以以这种方式使用
在Perl中,还可以使用查找各种源代码注释
已经提到了一些最好的链接(Friedl的书和)
我的regex网站如下:
请注意,我并不是说没有其他好的在线资源,但我发布的资源应该足以让任何新加入regex的人充分了解如何使用regex-es。请注意,我并不是说没有其他好的在线资源,但是我发布的这篇文章应该足以让任何刚接触regex的人很好地理解如何使用regex es。O'Reilly有一本学习正则表达式的好书。你可以猜出标题是什么。:)O'Reilly有一本学习正则表达式的好书。你可以猜出标题是什么。:)您可以执行:
[\s\s]
,而不是(\r?\n |。)
。您可以执行:[\s\s]
,而不是(\r?\n |。)
。