gpt4 book ai didi

regex - 在applescript 中是否有类似于regEx 的东西,如果没有,还有什么选择?

转载 作者:行者123 更新时间:2023-12-03 09:17:20 25 4
gpt4 key购买 nike

我需要解析文件名的前 10 个字符,看看它们是否都是数字。执行此操作的明显方法是 fileName =~ m/^\d{10}/但我在 applescript 引用中没有看到任何 regExy,因此,我很好奇我必须执行此验证的其他选项。

最佳答案

不要绝望,因为 OSX 您还可以通过“do shell script”访问 sed 和 grep。所以:

set thecommandstring to "echo \"" & filename & "\"|sed \"s/[0-9]\\{10\\}/*good*(&)/\"" as string
set sedResult to do shell script thecommandstring
set isgood to sedResult starts with "*good*"

我的 sed 技能不太热,所以可能有比将 *good* 附加到匹配 [0-9]{10} 的任何名称然后在结果的开头寻找 *good* 更优雅的方法。但基本上,如果文件名是“1234567890dfoo.mov”,这将运行命令:
echo "1234567890foo.mov"|sed "s/[0-9]\{10\}/*good*(&)/"

注意applescript中转义的引号\"和转义的反斜杠\\。如果你在shell中转义,你必须转义转义。所以要运行一个有反斜杠的shell脚本,你必须转义它shell 像\\然后像\\\\这样的 Applescript 转义每个反斜杠。这可能很难阅读。

因此,您可以在命令行上执行的任何操作都可以通过从 applescript 调用它来执行(呜呼!)。 stdout 上的任何结果都会作为结果返回到脚本。

关于regex - 在applescript 中是否有类似于regEx 的东西,如果没有,还有什么选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/997828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com