gpt4 book ai didi

elixir - 如何将字符串转换为正则表达式

转载 作者:行者123 更新时间:2023-12-04 13:48:24 24 4
gpt4 key购买 nike

我有这个代码

reg=~r/(\d{4}.csv)/
raw="some craxy trashy text blabla 0044.csv"
Regex.scan(reg,raw, capture: :all_but_first)

这将返回 0044.csv

但是,我需要从数据库中加载 ~r/(\d{4}.csv)/,因此将其另存为
"~r/(\d{4}.csv)/"

这是一个字符串。当我将其加载到变量时,它将是一个字符串。

如何将其传递给 Regex.scan

最佳答案

您可以使用Regex.compile/2Regex.compile!/2

iex> Regex.compile("(\\d{4}.csv)")    
{:ok, ~r/(\d{4}.csv)/}

您将需要一个额外的反斜杠来进行转义,否则最终将得到:
iex> Regex.compile("(\d{4}.csv)")    
{:ok, ~r/(\x7F{4}.csv)/}

关于elixir - 如何将字符串转换为正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35182954/

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