如何用“ ||”分割字符在使用正则表达式的长生不老药?

我正在尝试使用||分割字符 例如:“ ab || cd” =“ aa”,“ ||”,“ cd” 我尝试过:

>>myString = String.split("aa||cd",~r{(||?)})

但是有一个问题,原因是我无法使用| (是长生不老药或正则表达式令牌) 我需要一个正则表达式,因为我还有其他一些正则表达式子句起作用。所以... 我该怎么办?

ever2003 回答:如何用“ ||”分割字符在使用正则表达式的长生不老药?

您可以通过转义|字符并使用include_captures: true来使用正则表达式:

iex(1)> String.split("aa||bb",~r{\|\|},include_captures: true)
["aa","||","bb"]

然而,使用Elixir的一个好处是,在许多情况下,它使正则表达式变得不必要。例如,假设二进制aabb的长度始终为2:

iex(2)> for <<i::binary-2 <- "aa||bb">>,do: i
["aa","bb"]
,

String.split("aa||cd",~r/\b/)将解决问题!

\b是一个单词边界!

在这种情况下,它将返回["aa","cd",""]

本文链接:https://www.f2er.com/3169677.html

大家都在问