在阅读“学习Perl”时,我遇到了一个关于正则表达式的问题。在第9章中,练习3要求学生使用正则表达式将一个字符串a替换为另一个字符串b,并将b替换为a,例如:如果a=' hitman‘and b=' assassin’,则'A hitman should an assassin‘应修改为'A assassin should an hitman’。
在这本书中,答案是删除所有的eoln,然后使用eoln作为占位符来处理这种情况,但这种方法似乎很笨拙,并且不是普遍适用的。也许有人可以有一个更好的,例如一行程序,来解决这个问题?
感谢你们提供的任何意见!
紫药味
编辑:感谢你们的投入,但是一个通用的方法会很好!:)
发布于 2011-04-22 03:06:29
非常具体,但可能适用于这种情况(假设每个实例都只有一个实例,并且>hitman<位于>assasin<之前):
s/^(.*)hitman(.*)assasin(.*)$/$1assasin$2hitman$3/甚至是
s/^(.*)(hitman)(.*)(assasin)(.*)$/$1$4$3$2$5/https://stackoverflow.com/questions/5748570
复制相似问题