Elixir語言中 Regex.replace 相關用法介紹如下。
用法:
replace(regex, string, replacement, options \\ [])
@spec replace(t(), String.t(), String.t() | (... -> String.t()), [term()]) ::
  String.t()
接收一個正則表達式、一個二進製和一個替換,返回一個新的二進製,其中所有匹配項都被替換替換。
替換可以是字符串或函數。該字符串用作每個匹配項的替換,它允許通過 \N 或 \g{N} 訪問特定的捕獲,其中 N 是捕獲。如果使用\0,則插入整個匹配項。請注意,在正則表達式中,反斜杠需要轉義,因此在實踐中您需要使用 \\N 和 \\g{N} 。
當替換是一個函數時,該函數可能具有 N 個參數,其中每個參數映射到一個捕獲,第一個參數是整個匹配項。如果函數需要的參數多於找到的捕獲,則剩餘的參數將收到 "" 。
選項
:global- 當false時,僅替換第一次出現(默認為true)
例子
iex> Regex.replace(~r/d/, "abc", "d")
"abc"
iex> Regex.replace(~r/b/, "abc", "d")
"adc"
iex> Regex.replace(~r/b/, "abc", "[\\0]")
"a[b]c"
iex> Regex.replace(~r/a(b|d)c/, "abcadc", "[\\1]")
"[b][d]"
iex> Regex.replace(~r/\.(\d)$/, "500.5", ".\\g{1}0")
"500.50"
iex> Regex.replace(~r/a(b|d)c/, "abcadc", fn _, x -> "[#{x}]" end)
"[b][d]"
iex> Regex.replace(~r/a/, "abcadc", "A", global: false)
"Abcadc"
相關用法
- Elixir Regex.run用法及代碼示例
 - Elixir Regex.names用法及代碼示例
 - Elixir Regex.named_captures用法及代碼示例
 - Elixir Regex.match?用法及代碼示例
 - Elixir Regex.escape用法及代碼示例
 - Elixir Regex.compile用法及代碼示例
 - Elixir Regex.split用法及代碼示例
 - Elixir Regex.source用法及代碼示例
 - Elixir Regex.scan用法及代碼示例
 - Elixir Regex.opts用法及代碼示例
 - Elixir Regex用法及代碼示例
 - Elixir Registry.count_match用法及代碼示例
 - Elixir Registry.lookup用法及代碼示例
 - Elixir Registry.unregister_match用法及代碼示例
 - Elixir Registry.register用法及代碼示例
 - Elixir Registry用法及代碼示例
 - Elixir Registry.values用法及代碼示例
 - Elixir Registry.put_meta用法及代碼示例
 - Elixir Registry.keys用法及代碼示例
 - Elixir Registry.start_link用法及代碼示例
 - Elixir Registry.unregister用法及代碼示例
 - Elixir Registry.delete_meta用法及代碼示例
 - Elixir Registry.count用法及代碼示例
 - Elixir Registry.meta用法及代碼示例
 - Elixir Registry.select用法及代碼示例
 
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Regex.replace(regex, string, replacement, options \\ [])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
