首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >灵丹妙药匹配文字反斜杠

问灵丹妙药匹配文字反斜杠
EN

Stack Overflow用户
提问于 2020-02-05 15:56:43
回答 1查看 465关注 0票数 1

令人惊讶的是,正则匹配器不匹配反斜杠正确。例如

代码语言:javascript
复制
Regex.split(~r{\\}, "C:\foo\bar")
["C:\foo\bar"]
Regex.match?(~r/\\/, "C:\foo\bar")
false

我希望有一场正面的比赛,但也许我逃脱了\的错误。让我们来检验一下:

代码语言:javascript
复制
Regex.escape("\\")
"\\\\"
Regex.split(~r{\\\\}, "C:\foo\bar")
["C:\foo\bar"]
Regex.match?(~r/\\\\/, "C:\foo\bar")
false

还是没有匹配。在这一点上相当困惑。如何在regex中转义\以匹配文本\,正如您在我的usecase中看到的,我希望拆分一个窗口路径。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-05 16:12:49

Regex很好;您的输入不是您认为的那样。字符串中的反斜杠转义。

代码语言:javascript
复制
String.split("C:\foo\bar", "")
#⇒ ["", "C", ":", "\f", "o", "o", "\b", "a", "r", ""]

String.length("C:\foo\bar")
#⇒ 8

注意"\f"和"\b"。该字符串不包含反斜杠,但包含"\f"和"\b"代码点。

这就是说,您需要向Regex.split/3传递一个正确的字符串,以获得预期的结果。

代码语言:javascript
复制
Regex.split(~r|\\|, "C:\\foo\\bar")
#⇒ ["C:", "foo", "bar"]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60079568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档