Saya perlu mengurai melalui string dan menambahkan tanda kutip tunggal di sekitar setiap nilai Panduan. Saya berpikir saya bisa menggunakan Regex untuk melakukan ini tapi saya bukan ahli Regex.
Apakah ada Regex yang bagus untuk digunakan untuk mengidentifikasi Panduan?
Pertanyaan kedua saya adalah setelah saya menemukan regex yang valid, saya anggap akan saya gunakan Regex.Replace(String, String, MatchEvaluator)
tetapi saya tidak begitu yakin dengan sintaksnya. Mungkin sesuatu seperti:
return Regex.Replace(stringToFindMatch, GuidRegex, match =>
{
return string.Format("'{0}'", match.Groups[0].ToString());
});
String yang saya coba uraikan mungkin terlihat seperti ini:
"PILIH sandico0_.PASSWORD_CONFIG_ID sebagai PASSWORD1_46_0_, DARI PASSWORD_CONFIG sandico0_ DI MANA sandico0_.PASSWORD_CONFIG_ID = baf04077-a3c0-454b-ac6f-9fec00b8e170; @ p0e baf04077] -9
Jawaban:
Yang ini cukup sederhana dan tidak membutuhkan delegasi seperti yang Anda katakan.
Ini cocok dengan gaya berikut, yang semuanya merupakan format yang setara dan dapat diterima untuk GUID.
Perbarui 1
@NonStatic menegaskan dalam komentar bahwa ekspresi reguler di atas akan cocok dengan positif palsu yang memiliki pembatas penutup yang salah.
Hal ini dapat dihindari dengan regex conditional yang didukung secara luas.
Persyaratan didukung oleh mesin JGsoft, Perl, PCRE, Python, dan kerangka .NET. Ruby mendukungnya mulai dari versi 2.0. Bahasa seperti Delphi, PHP, dan R yang memiliki fitur regex berdasarkan PCRE juga mendukung kondisional. (sumber http://www.regular-expressions.info/conditional.html )
Ekspresi reguler setelah Will cocok
Dan tidak akan cocok
Ekspresi Reguler:
Solusinya disederhanakan agar hanya mencocokkan angka untuk menunjukkan dengan lebih jelas apa yang diperlukan jika diperlukan.
sumber
[0-9a-fA-F\-]{32,36}
.https://support.office.com/en-us/article/poisson-function-d81f7294-9d7c-4f75-bc23-80aa8624173a
Regex paling dasar adalah sebagai berikut:
atau Anda dapat menempelkannya di sini .
Semoga ini menghemat waktu Anda.
sumber
[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}
The strip bisa dibuat opsional:[0-9A-Fa-f]{8}-?([0-9A-Fa-f]{4}-?){3}[0-9A-Fa-f]{12}
.Untuk C #. Net untuk menemukan dan mengganti string yang mencari panduan dari teks yang diberikan,
Gunakan RegEx ini:
Contoh kode C #:
Pasti berhasil! Dan itu cocok & menggantikan gaya berikut, yang semuanya merupakan format yang setara dan dapat diterima untuk GUID.
sumber
Dalam .NET Framework 4 ada peningkatan System.Guid struktur, Ini termasuk metode TryParse dan TryParseExact baru untuk Parse GUID. Berikut adalah contoh untuk ini.
Dalam contoh ini kita membuat objek guid baru dan juga mengambil satu variabel string yang memiliki guid tidak valid. Setelah itu kami menggunakan metode TryParse untuk memvalidasi bahwa kedua variabel memiliki format panduan yang valid atau tidak. Dengan menjalankan contoh Anda dapat melihat bahwa variabel string tidak memiliki format guid yang valid dan memberikan pesan "InValid guid". Jika variabel string memiliki guid yang valid maka ini akan mengembalikan true dalam metode TryParse.
sumber
Anda dapat dengan mudah membuat kode C # secara otomatis menggunakan: http://regexhero.net/tester/ .
Gratis.
Inilah cara saya melakukannya:
Situs web kemudian secara otomatis menghasilkan kode .NET:
sumber
Saya menggunakan pola regex yang lebih mudah
sumber