Не понимаю. В .NET я указать RegexOptions.Multiline, используя http://gskinner.com/RegExr/ я Отметка глобальный и многострочныйRegex соответствует новым строкам, если это не так?
Что я ожидаю ^
и $
, чтобы соответствовать начало и конец строки и .
, чтобы соответствовать ничего, кроме символа новой строки. Что происходит .*
, похоже, соответствует новой строке, которая кажется неправильной, поскольку msdn говорит, что флаг Single
позволяет ему соответствовать новой строке (которую я не использую). Я использую Linq для преобразования группы 1 в качестве ключа и 2 в качестве значения, а все значения работают, кроме первого. Я предполагаю, что я могу сделать что-то с подстрокой, но почему вспышка и .NET говорит, эта модель соответствует и как я исправление (я предполагаю, что я могу использовать подстроку, если мне нужно)
Выкройка:
^\s*([^\:]+)\s*\:\s*(.*)$
Input
ffmp
eg version N-54691-g7f4a1fd Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 12 2013 16:26:02 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 39.100/52. 39.100
libavcodec 55. 18.102/55. 18.102
libavformat 55. 12.102/55. 12.102
libavdevice 55. 3.100/55. 3.100
libavfilter 3. 80.101/3. 80.101
libswscale 2. 3.100/2. 3.100
libswresample 0. 17.102/0. 17.102
libpostproc 52. 3.100/52. 3.100
Input #0, ogg, from 'd:\music\a.ogg':
Duration: 00:03:24.49, start: 0.000000, bitrate: 195 kb/s
Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp, 192 kb/s
Metadata:
----
---
ARTIST : Anamanaguchi
TITLE : Blackout City
ALBUM ARTIST : Anamanaguchi
ALBUM : Dawn Metropolis
track : 1
YEAR : 2009
GENRE : rock
DATE : 2009
ENCODER : MediaMonkey 4.0.3
ENSEMBLE : Anamanaguchi
RATING : -1
At least one output file must be specified
Правильно, но не на 100% правильно. Похоже, что '\ s *' соответствует новым строкам, поэтому я заменил '\ s *' '' 'и проблема решена –