Я использовал регулярные выражения в прошлом для проверки ввода, но мне интересно, могут ли они позволить вам разобрать сложную строку.
У меня есть такой заголовок:
-----------------------------7dac1d2214d4\r\nContent-Disposition: form-data; name=\"my_title\"\r\n\r\nMyData\r\n-----------------------------7dac1d2214d4\r\nContent-Disposition: form-data; name=\"myupload\"; filename=\"C:\\myfile.zip\"\r\nContent-Type: application/x-zip-compressed\r\n\r\n
Я хочу иметь возможность разобрать, скажем, имя файла.
В данный момент я делаю это (после разбора заголовков):
this.FileName = headers[1].Substring(headers[1].IndexOf("filename=\"") + "filename=\"".Length, headers[1].IndexOf("\"\r\n", headers[1].IndexOf("filename=\"")) - (headers[1].IndexOf("filename=\"") + "filename=\"".Length));
Но это отвратительно и безобразно.
Может ли регулярное выражение решить эту проблему более изящно?Я понимаю основы синтаксиса, поэтому, если он сможет решить его, может кто-нибудь показать мне, как разобрать это с помощью регулярного выражения:
"+Name=Bob+Age=39+"
Тогда я, вероятно, сам смогу решить все остальное.* Спасибо.