Я не уверен, что вы делаете, но если это XML (как это выглядит), вы должны использовать XQuery или что-то еще, чтобы найти / обновить узел lastedit, так как он будет обрабатывать различные сложностикомментарии и вложение и т. д.
Если вы уверены в том, каким будет вводимый текст, и уверены, что там нет никаких мерзостей, вы можете быстро и грязно сопоставить этот конкретный формат даты:
<lastedit>\w{6,9}, \w{3,9} \d\d, \d{4}</lastedit>
Или еще быстрее и грязнее:
<lastedit>[^<]+<lastedit>
Это зависит от ваших потребностей, от того, насколько вы уверены в содержании файла и т. Д.
Ой.Так что мне было любопытно, и я посмотрел, как Visual Studio на самом деле выполняет регулярные выражения, и хорошо ... того, кто сделал регулярное выражение VS, нужно бить по голове .
ПеревестиВыше стандартного регулярного выражения в регулярное выражение VS вы получаете следующие значения:
\<lastedit\>:i+, :i+ :d:d, :d:d:d:d\</lastedit\>
и
\<lastedit\>[^<]+</lastedit\>
Возможно.Трудно читать документацию , потому что Microsoft, похоже, не хочет писать сайты, которые работают в современных браузерах.
Конечно, это предполагает, что макросы используют это безумное регулярное выражение вместо обычного.NET регулярное выражение - если это последнее, то верхний материал будет в порядке, и вы можете игнорировать это сумасшествие.:)
Чтобы реализовать, попробуйте что-то вроде этого:
Dim reLastEdit As Regex = New Regex("<lastedit>[^<]+<lastedit>")
Dim matches AS MatchCollection = reLastEdit.Matches(Input)
If matches.Count > 0
Then
' Change Header
Dim NewLastEdit As String = "<lastedit>" & FormatDateTime(Date.Now, vbLongDate) & "</lastedit>"
reLastEdit.Replace(Input,NewLastEdit)
Else
' Add Header
EndIf
или подобное.Информация здесь: http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex_methods.aspx