о java: получить `String []. class` из` String.class`, что если `String.class` является & ldquo; типом времени выполнения & rdquo ;? [Дубликат]

У меня был список имен файлов, и я хотел исключить некоторые из них с таким поведением (Ruby):

files = [
  'mydir/states.rb',      # don't match these
  'countries.rb',
  'mydir/states_bkp.rb',  # match these
  'mydir/city_states.rb' 
]
excluded = ['states', 'countries']

# set my_rgx here

result = WankyAPI.filter(files, my_rgx)  # I didn't write WankyAPI...
assert result == ['mydir/city_states.rb', 'mydir/states_bkp.rb']

Вот мое решение:

excluded_rgx = excluded.map{|e| e+'\.'}.join('|')
my_rgx = /(^|\/)((?!#{excluded_rgx})[^\.\/]*)\.rb$/

Мои предположения для этого приложения:

  • Исключенная строка находится в начале ввода или сразу же после косой черты.
  • Разрешенные строки заканчиваются на .rb.
  • Разрешенные имена файлов не имеют символа . перед .rb.
30
задан Jin Kwon 30 September 2017 в 07:21
поделиться