可以在 Swift 脚本中使用正则表达式吗?

Ath*_*lex 1 regex shebang swift

我想用 \xe2\x80\x9cshebang\xe2\x80\x9d 符号制作一个使用正则表达式文字的 Swift 脚本。例如:

\n
#!/usr/bin/env swift\n\nlet message = "Hello, world"\nprint(message.replacing(/[aeiou]/, with: "[vowel]"))\n
Run Code Online (Sandbox Code Playgroud)\n

在问题中,Swift 包管理器支持正则表达式吗?,我学习了如何使这段代码在 Swift 包管理器中工作。

\n

它可以作为 Swift 脚本使用吗?或者我必须等待未来的更新吗?

\n

Swe*_*per 5

正如链接文章中所述,正则表达式文字目前是一项可选功能,您需要使用该-enable-bare-slash-regex选项。

只需将 shebang 更改为:

#!/usr/bin/env swift -enable-bare-slash-regex
Run Code Online (Sandbox Code Playgroud)

  • 或者,自 Swift 5.8 起`#!/usr/bin/env -S swift -enable-upcoming-feature BareSlashRegexLiterals` (2认同)