如何 select 第一个 space 正则表达式之后的所有内容

How to select everything after the 1st space regex

我有这个简单的小字符串 "Wed 09 Sept",我想 select“9 月 9 日”

这将占用第一个 space 的所有内容:

\s(.*)(从 Regex to get everything after the first space 开始)

但它带有 space,我想去掉它

获取该正则表达式的第一个捕获组:

"Wed 09 Sept" =~ /\s(.*)/ 
selection     = 
# => "09 Sept"

=~ 运算符将模式与字符串匹配。 </code>、<code> 等变量引用捕获组。

您可以使用 \K 丢弃之前匹配的字符。

^\S*\s\K.*

^\S* \K.*

\s\K.*

 \K.*

\S* 匹配零个或多个非 space 字符,\s+ 匹配一个或多个 space。 \K 丢弃在最后打印出的先前匹配的字符。现在 .* 将匹配所有剩余的字符。这将在决赛中打印。

DEMO 1 DEMO 2

将第一个 space 和其余 /(\s)(.*)/ 分组,例如:

pry(main)> m = /(?'first'\s)(?'rest'.*)/.match 'Wed 09 Sept'
=> #<MatchData " 09 Sept" first:" " rest:"09 Sept">
pry(main)> m[:rest]
=> "09 Sept"