Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aşağıdaki kod örneği, mm dd yy biçimindeki tarihleri gg/mm/yy biçimindeki-- tarihlerle değiştirmek için yöntemini kullanır.Regex.Replace
Uyarı
Güvenilmeyen girişi işlemek için kullanırken System.Text.RegularExpressions bir zaman aşımı geçirin. Kötü amaçlı bir kullanıcı için giriş RegularExpressionssağlayabilir ve bu da Hizmet Reddi saldırısına neden olabilir. ASP.NET Zaman aşımı kullanan RegularExpressions Core framework API'leri.
Örnek
static string MDYToDMY(string input)
{
try {
return Regex.Replace(input,
@"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b",
"${day}-${month}-${year}", RegexOptions.None,
TimeSpan.FromMilliseconds(150));
}
catch (RegexMatchTimeoutException) {
return input;
}
}
Function MDYToDMY(input As String) As String
Try
Return Regex.Replace(input, _
"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b", _
"${day}-${month}-${year}", RegexOptions.None,
TimeSpan.FromMilliseconds(150))
Catch e As RegexMatchTimeoutException
Return input
End Try
End Function
Aşağıdaki kod, yöntemin MDYToDMY bir uygulamada nasıl çağrılabileceğini gösterir.
using System;
using System.Globalization;
using System.Text.RegularExpressions;
public class Class1
{
public static void Main()
{
string dateString = DateTime.Today.ToString("d",
DateTimeFormatInfo.InvariantInfo);
string resultString = MDYToDMY(dateString);
Console.WriteLine($"Converted {dateString} to {resultString}.");
}
static string MDYToDMY(string input)
{
try {
return Regex.Replace(input,
@"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b",
"${day}-${month}-${year}", RegexOptions.None,
TimeSpan.FromMilliseconds(150));
}
catch (RegexMatchTimeoutException) {
return input;
}
}
}
// The example displays the following output to the console if run on 8/21/2007:
// Converted 08/21/2007 to 21-08-2007.
Imports System.Globalization
Imports System.Text.RegularExpressions
Module DateFormatReplacement
Public Sub Main()
Dim dateString As String = Date.Today.ToString("d", _
DateTimeFormatInfo.InvariantInfo)
Dim resultString As String = MDYToDMY(dateString)
Console.WriteLine("Converted {0} to {1}.", dateString, resultString)
End Sub
Function MDYToDMY(input As String) As String
Try
Return Regex.Replace(input, _
"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b", _
"${day}-${month}-${year}", RegexOptions.None,
TimeSpan.FromMilliseconds(150))
Catch e As RegexMatchTimeoutException
Return input
End Try
End Function
End Module
' The example displays the following output to the console if run on 8/21/2007:
' Converted 08/21/2007 to 21-08-2007.
Açıklamalar
Normal ifade düzeni \b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b aşağıdaki tabloda gösterildiği gibi yorumlanır.
| Desen | Açıklama |
|---|---|
\b |
Bir sözcük sınırında eşleşmeye başla. |
(?<month>\d{1,2}) |
Bir veya iki ondalık basamağı eşleştirin. Yakalanan grup budur month . |
/ |
Eğik çizgi işaretiyle eşleş. |
(?<day>\d{1,2}) |
Bir veya iki ondalık basamağı eşleştirin. Yakalanan grup budur day . |
/ |
Eğik çizgi işaretiyle eşleş. |
(?<year>\d{2,4}) |
İki ile dört ondalık basamağı eşleştirin. Yakalanan grup budur year . |
\b |
Eşlemeyi bir sözcük sınırında sonlandır. |
Desen ${day}-${month}-${year} , aşağıdaki tabloda gösterildiği gibi değiştirme dizesini tanımlar.
| Desen | Açıklama |
|---|---|
$(day) |
Yakalama grubu tarafından yakalanan dizeyi day ekleyin. |
- |
Kısa çizgi ekleyin. |
$(month) |
Yakalama grubu tarafından yakalanan dizeyi month ekleyin. |
- |
Kısa çizgi ekleyin. |
$(year) |
Yakalama grubu tarafından yakalanan dizeyi year ekleyin. |