我有一个简单的小字符串"星期三 09 九月",我想选择"09 九月"
这将从第一个空格获取所有内容:
\s(.*) (从正则表达式获取第一个空格后的所有内容)
但它带有空间,我想摆脱它
获取该正则表达式的第一个捕获组:
"Wed 09 Sept" =~ /s(.*)/
selection = $1
# => "09 Sept"
=~
运算符将模式与字符串匹配。$1
、$2
、$3
等变量是指捕获组。
将第一个空格和其余空格分组/(s)(.*)/
,例如:
pry(main)> m = /(?'first's)(?'rest'.*)/.match 'Wed 09 Sept'
=> #<MatchData " 09 Sept" first:" " rest:"09 Sept">
pry(main)> m[:rest]
=> "09 Sept"
您可以使用K
丢弃以前匹配的字符。
^S*sK.*
或
^S* K.*
或
sK.*
或
K.*
S*
匹配零个或多个非空格字符,s+
匹配一个或多个空格。 K
丢弃先前匹配的字符,这些字符不会在决赛中打印出来。现在.*
将匹配所有剩余的字符。这将在决赛中打印。
1 演示 2