ruby - 用反斜杠匹配单词

标签 ruby regex

我正在努力编写一个 Ruby 正则表达式来匹配所有单词:以 2 或 3 个字母开头,然后是反斜杠 (\),然后是 7 或 8 个字母和数字。我使用的表达方式是这样的:

p "BFD\082BBSA".match %r{\A[a-zA-Z]{2,3}\/[a-zA-Z0-9]{7,8}\z}

但是每次这段代码都返回nil。我做错了什么?

最佳答案

尝试如下:

'BFD\082BBSA'.match %r{\A[a-zA-Z]{2,3}\\[a-zA-Z0-9]{7,8}\z} 
 # => #<MatchData "BFD\\082BBSA">
 #or
"BFD\\082BBSA".match %r{\A[a-zA-Z]{2,3}\\[a-zA-Z0-9]{7,8}\z}
 # => #<MatchData "BFD\\082BBSA">

另请阅读此 - Backslashes in Single quoted strings vs. Double quoted strings in Ruby?

关于ruby - 用反斜杠匹配单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21112083/

相关文章:

regex - 从字符串中修剪字符串

Javascript 只拆分一次并忽略其余部分

ruby - Net::HTTP.start 适用于 127.0.0.1 但不适用于 'localhost' 。为什么?

ruby - 正则表达式如何从括号中提取单词

c# - 为什么 Ruby 套接字服务器可以与其他 Ruby 套接字客户端配合使用,但不能与 C# 套接字客户端配合使用?

php - 使用 preg_replace 捕获数学

regex - 检查字符串中是否只有空格

java - 如何阻止 RVM 干扰 JRuby

ruby - 我安装的 Koala 有什么问题?

ASP.NET:使用应用程序范围的 Regex 对象安全吗?