下面是一个例子:正则表达式 - 不包括字符
S = “[email protected]”
s.match(/ + [^ @] * /)
结果=> “+潜台词”
的事情是,我不希望有 “+” 在那里。我想要的结果是“潜台词”,而+
下面是一个例子:正则表达式 - 不包括字符
S = “[email protected]”
s.match(/ + [^ @] * /)
结果=> “+潜台词”
的事情是,我不希望有 “+” 在那里。我想要的结果是“潜台词”,而+
您可以使用括号在正则表达式来创建匹配组:
s="[email protected]"
s =~ /\+([^@]*)/ && $1
=> "subtext"
你可以使用一个积极的向后断言,我相信是这样写的:
s.match(/(?<=\+)[^@]*/)
编辑:所以我才注意到这是一个Ruby问题,我不知道这个功能是否在Ruby中(我本人不是Ruby程序员)。如果是的话,你可以使用它;如果没有...我会删除这个。
这将工作仅在红宝石1.9+ – mckeed 2010-07-13 19:36:23
我不知道红宝石非常好,但如果添加了部分的周围捕获你想它应该工作。即:\+([^@]*)
你可以用Rubular测试这些。这种特殊的比赛是在这里:http://www.rubular.com/r/pqFza9jlmX
另一个语法,这是单曲[/ \ +([^ @] *)/ 1]'。 – mckeed 2010-07-13 19:38:16
@mckeed,我不知道。非常好! – 2010-07-13 19:40:38
谢谢大家!这些仅适用于红宝石吗?另外,&&代表什么? – 2010-07-14 01:21:29