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, Regex.Replace yöntemini kullanarak mm/dd/yy biçimindeki tarihleri gg-aa-yy biçimindeki tarihlerle değiştirir.
Warning
System.Text.RegularExpressions öğesinin güvenilmeyen girdilerle sınırsız kullanımı, uygulamaları hizmet reddi saldırılarına maruz bırakabilir. Güvenilmeyen girişlerle .NET normal ifadelerini güvenli bir şekilde nasıl kullanacağınızla ilgili yönergeler için .NET'te normal ifadeler için en iyi uygulamalar bölümüne başvurun.
Example
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 |
Eşleşmeyi bir kelime sınırından başlatın. |
(?<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 simgesini eşleştir. |
(?<year>\d{2,4}) |
İki ile dört ondalık basamağı eşleştirin. Yakalanan grup budur year . |
\b |
Eşleşmeyi bir sözcük sınırında sonlandırın. |
Desen ${day}-${month}-${year} , aşağıdaki tabloda gösterildiği gibi değiştirme dizesini tanımlar.
| Desen | Açıklama |
|---|---|
$(day) |
day yakalama grubu tarafından yakalanan dizeyi ekleyin. |
- |
Kısa çizgi ekleyin. |
$(month) |
month yakalama grubunun yakaladığı dizeyi ekleyin. |
- |
Kısa çizgi ekleyin. |
$(year) |
year yakalama grubu tarafından yakalanan dizeyi ekleyin. |