24
|
Yevgeny Simkin · 技术社区 · 16 年前 |
![]() |
1
23
不要绝望,因为OSX也可以访问 sed 以及grep通过“do shell script”。所以:
我的SED技能并不太火爆,所以可能有一种比在匹配[0-9]10的任何名称上加上“*good”,然后在结果的开头查找“*good”更优雅的方法。但是,基本上,如果文件名为“1234567890dfoo.mov”,则将运行以下命令:
注意applescript中的转义引号\“和转义反斜杠\”。如果你要逃离贝壳里的东西,你必须逃离逃离。因此,要运行一个包含反斜杠的shell脚本,您必须用类似\\的shell对其进行转义,然后用类似\ \\的applescript对每个反斜杠进行转义。这很难理解。 所以在命令行上可以做的任何事情都可以通过从applescript(woohoo!).stdout上的任何结果都将作为结果返回到脚本。 |
![]() |
2
14
有一种更简单的方法可以使用shell(在bash 3.2+上工作)进行regex匹配:
注:
这里有一个替代方法
虽然这可能表现得更差,但它有两个优势:
最后,这里是 效用函数 这两种方法都打包了(语法突出显示关闭,但它们确实有效):
|
![]() |
3
11
我最近在一个脚本中需要正则表达式,并希望找到一个脚本添加来处理它,这样就更容易阅读正在发生的事情。我找到了 Satimage.osax ,允许您使用如下语法:
唯一的缺点是(截至2010年8月11日),它是一个32位的加法,所以当从64位进程调用它时,它会抛出错误。这个咬了我一口 Mail rule for Snow Leopard ,因为我必须以32位模式运行邮件。不过,从一个独立脚本调用时,我没有任何保留—这非常好,可以让您选择任何内容 regex syntax 你想用,用 back-references . 更新日期:2011年5月28日 感谢MitchellModel在下面的评论,他们指出他们已经将其更新为64位,所以没有更多的保留——它可以满足我的所有需求。 |
![]() |
4
3
我确信有一个applescript的添加或者一个shell脚本可以被调用来将regex带到折叠中,但是我避免了对简单事物的依赖。我一直使用这种样式的图案…
|
![]() |
5
3
这是另一种检查字符串前十个字符是否是数字的方法。
|
![]() |
6
1
我有另一个选择,直到我为汤普森NFA算法实现了角色类,我才在applescript中做了简单的工作。如果有人想用applescript解析非常基本的regex,那么代码将发布在macscripters的codeexchange中,请看一下! 下面是计算文本/字符串的前十个字符是否:
|
![]() |
DotFX · RegEx捕获关键字前但括号后的所有内容 8 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 8 月前 |
![]() |
iato · 确保正则表达式不从命名材料中的数字中提取 9 月前 |
![]() |
vr8ce · 非成对标记中特定字符的正则表达式 9 月前 |
![]() |
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 9 月前 |
![]() |
Carsten · 使用最近的搜索模式更改文本块 9 月前 |