我有这个简单的小字符串" 9月9日星期三",我想选择" 09年9月"
这将从第一个空间开始:
\ s(。*)(从Regex to get everything after the first space开始)
但它带有空间,我想摆脱那个
答案 0 :(得分:4)
获取该正则表达式的第一个捕获组:
"Wed 09 Sept" =~ /\s(.*)/
selection = $1
# => "09 Sept"
=~
运算符匹配字符串的模式。 $1
,$2
,$3
等变量指的是捕获组。
答案 1 :(得分:0)
您可以使用\K
丢弃之前匹配的字符。
^\S*\s\K.*
OR
^\S* \K.*
OR
\s\K.*
OR
\K.*
\S*
匹配零个或多个非空格字符,\s+
匹配一个或多个空格。 \K
会丢弃之前在决赛中打印出来的匹配字符。现在.*
将匹配所有剩余的字符。这将在决赛中打印出来。
答案 2 :(得分:0)
将第一个空格和其余/(\s)(.*)/
分组,如:
pry(main)> m = /(?'first'\s)(?'rest'.*)/.match 'Wed 09 Sept'
=> #<MatchData " 09 Sept" first:" " rest:"09 Sept">
pry(main)> m[:rest]
=> "09 Sept"