re = /\d{4}[^\/]+/m
str = '$ cat file1
0775 web:web /path/to/001
0775 web:web /path/to/foo
0775 web:web /path/to/bar
0775 web:web /path/to/baz
0775 web:web /path/to/hello
$ cat file2
0755 web:web /path/to/foo
0755 web:web /path/to/bar
0755 web:web /path/to/baz
$ diff -y file1 file2
0775 web:web /path/to/001 | 0755 web:web /path/to/foo
0775 web:web /path/to/foo | 0755 web:web /path/to/bar
0775 web:web /path/to/bar | 0755 web:web /path/to/baz
0775 web:web /path/to/baz <
0775 web:web /path/to/hello <
# if you could ignore \'^[^\\/]+\' on each line
0775 web:web /path/to/001 <
0775 web:web /path/to/foo | 0755 web:web /path/to/foo
0775 web:web /path/to/bar | 0755 web:web /path/to/bar
0775 web:web /path/to/baz | 0755 web:web /path/to/baz
0775 web:web /path/to/hello <'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html