正则表达式 - 排除字符

min*_*eow 5 ruby regex

这是一个例子:

S = "abcd+subtext@example.com"

s.match(/ + [^ @]*/)

结果=>"+ subtext"

问题是,我不想在那里加入"+".我希望结果是"subtext",没有+

Way*_*rad 5

您可以在正则表达式中使用括号来创建匹配组:

s="abcd+subtext@example.com"
s =~ /\+([^@]*)/ && $1
=> "subtext"
Run Code Online (Sandbox Code Playgroud)

  • 另一种语法是`s [/\+([^ @]*)/,1]`. (9认同)
  • @mckeed,我不知道.非常好! (2认同)