我听说perl在使用正则表达式时是一种很好的语言,但我对需要转义的字符有点困惑
我在http://regexlib.com/RETester.aspx上测试了代码,得到了我想要的结果
//home/dev/abc/code/hello/world.cpp#1
//home/dev/((.*?)/[^/]+).*#
Match $1 $2
//home/dev/abc/code/hello/world.cpp# abc/code abc
Run Code Online (Sandbox Code Playgroud)
但是,我不太确定如何将其转换为perl代码
我试过了,
\/\/home\/dev\/\(\(\.\*\?\)\/\[\^\/\]\+\)\.\*\#
Run Code Online (Sandbox Code Playgroud)
和
\/\/home\/dev\/((.*?)\/[^\/]+).*\#
Run Code Online (Sandbox Code Playgroud)
两者都失败了
难道你不认为逃避使正则表达式难以理解吗?我用错了吗?
你可以选择使用!而不是/包围你的正则表达式,这样你就不必逃避/.
m!//home/dev/((.*?)/[^/]+).*#!
Run Code Online (Sandbox Code Playgroud)
应该管用.以下是它的实际应用:http://ideone.com/TDrBG
| 归档时间: |
|
| 查看次数: |
12097 次 |
| 最近记录: |