Ruby正则表达式意外结果

时间:2016-07-20 16:14:36

标签: ruby regex

在此代码中,

/usr/local/lib/python2.7/site-packages/

我使用了Microsoft.EntityFrameworkCore.SqlServer,表示字符串的开头,然后是"test bold bind abcd".scan(/\Ab.../) {|x| puts x} ,以及三个任意字符。在我看来,它应该输出:

\A

但它什么也没输出。有人可以解释为什么这个正则表达式与我期望的不同吗?

1 个答案:

答案 0 :(得分:4)

你的字符串的开头是“test”,所以它不匹配。您可以使用单词边界运算符:

def makeMainframe(self):
    ...
    self.mainframe.grid_columnconfigure(2, weight=1)

如果您不知道有一个简洁的工具来测试正则表达式:

http://rubular.com/

Regex Tutorial的相关引用:

  

\ A只在字符串开头匹配。同样,\ Z only   在字符串的末尾匹配。这两个令牌永远不会匹配   换行。这在所讨论的所有正则表达式中都是如此   教程,即使你打开“多线模式”。在EditPad Pro和   PowerGREP,插入符号和美元在开始时始终匹配   行尾,\ A和\ Z仅匹配开头和结尾   整个文件。