如何 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
丢弃在最后打印出的先前匹配的字符。现在 .*
将匹配所有剩余的字符。这将在决赛中打印。
将第一个 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"
我有这个简单的小字符串 "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
丢弃在最后打印出的先前匹配的字符。现在 .*
将匹配所有剩余的字符。这将在决赛中打印。
将第一个 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"