我正在努力编写一个 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/