我试图找到字符串,后面只有"..",但无法得到:
["..ab","...cc","..ps","....kkls"].each do |x|
puts x if /../.match(x)
end
..ab
...cc
..ps
....kkls
=> ["..ab", "...cc", "..ps", "....kkls"]
["..ab","...cc","..ps","....kkls"].each do |x|
puts x if /(.)(.)/.match(x)
end
..ab
...cc
..ps
....kkls
=> ["..ab", "...cc", "..ps", "....kkls"]
Run Code Online (Sandbox Code Playgroud)
预期产量:
["..ab","..ps"]
Run Code Online (Sandbox Code Playgroud)
你想要的是什么
/^\.\.(?!\.)/
Run Code Online (Sandbox Code Playgroud)
^开头的插入符号表示匹配字符串的开头; 句点必须用反斜杠转义,\.因为在正则表达式中,普通句点.与任何字符匹配; 这(?!\.)是一个负面的预测意味着下一个字符不是句号.所以表达式意味着"在字符串的开头,匹配两个句点,后面必须跟一个不是句号的字符."
>> /^\.\.(?!\.)/.match "..ab"
=> #<MatchData "..">
>> /^\.\.(?!\.)/.match "...cc"
=> nil
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |