如果一个单词位于一行的开头或者前面有空格,我如何编写一个正则表达式来匹配一个单词?

时间:2016-12-06 02:32:25

标签: ruby regex string

我正在使用Ruby 2.3。如何编写一个正则表达式,它会找到一个带有前面空格或前面字符串开头的单词?我有这个字符串...

2.3.0 :001 > string = "time abcd”
 => "time abcd"

我可以写

2.3.0 :003 > string.index(/^time/)
 => 0 

但是我想要提出一个更通用的正则表达式,如果它位于一行的开头或前面有一个空格,那么它将匹配我的单词。

1 个答案:

答案 0 :(得分:0)

re = /
  (?<=        # just before this, match
     ^        # the start of the string
     |        # or
     \s       # a single whitespace
   )          # and then
   time       # the literal string "time"
/x

# or equivalently: re = /(?<=^|\s)time/

"time abcd".index(re)
# => 0