输入:abc720p
所需输出:abc720p_xxx
遵循指南:使用&作为匹配字符串
在AppleScript中,如果我使用sed:
set oriT to "abc720p def720p"
set oriT to do shell script "echo " &
quoted form of oriT & " | sed -e 's/abc720p/&_xxx/g'"
输出正确:abc720p_xxx def720p
但是如果我使用Perl:
set oriT to "abc720p def720p"
set oriT to do shell script "echo " &
quoted form of oriT & " | perl -CIOED -p -e 's/abc720p/&_xxx/g'"
输出错误:&_xxx def720p
在我的上下文中,我必须在AS中使用Perl来完成这项工作(就像sed中的&一样(。我不能使用"perl-CIOED-p-e’s/abc720p/abc720p_xxx/g"。
我不知道用Perl是否能做到这一点。
在Perl中,语法略有不同:使用$&
而不是&
。
perl -CIOED -p -e 's/abc720p/$&_xxx/g'
请参阅$&详细信息。
使用AppleScript:更简单
set oriT to "abc720p def720p"
set |&| to "abc720p"
set my text item delimiters to {|&| & "_xxx", |&|}
set oriT to text items of oriT as text
--> "abc720p_xxx def720p"