我正在尝试拆分从 telnet 服务获取的字符串,该字符串将文件名的任一端放在引号中,其中包含空格,如果没有空格,则不包含引号。所有其他字段都由空格分隔,因此没有真正的问题。
我正在尝试(也许过于雄心勃勃!)在正则表达式组中获得全部内容。并不是说它对它有很大影响,但我正在使用 Perl。
带引号的字符串的示例是:
《RAW Superleague backchat 0907 1531》电影/DV/DV100 63173952000 576000 15:21:35:24 16:34:43:01
一个不带引号的字符串可能是:
F0736584_02 电影/DV/DV100 9172224000 576000 16:04:19:00 16:14:55:24
我正在使用正则表达式:
/^"?(.*)"$?\s(\S+)\s(\S+)\s(\S+)\s(\S+)\s(\S+)/
它在组中很好地返回带有引号的字符串,但不返回没有引号的第二个字符串。我认为可选标志会处理这个问题,但似乎不是。任何帮助表示赞赏。