Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Aplikasi Kanvas
Copilot Studio
Model-driven aplikasi
Power Platform CLI
Dataverse fungsi
Power Pages
Pengujian untuk kecocokan atau mengekstrak bagian string teks berdasarkan pola.
KETERANGAN
Fungsi menguji IsMatch apakah string teks cocok dengan pola yang dapat terdiri dari karakter biasa, pola yang telah ditentukan sebelumnya, atau ekspresi reguler. Fungsi Match dan MatchAll mengembalikan apa yang cocok, termasuk sub-cakupan.
Gunakan IsMatch untuk memvalidasi apa yang diketik pengguna dalam kontrol input Teks . Misalnya, konfirmasikan apakah pengguna memasukkan alamat email yang valid sebelum hasilnya disimpan ke sumber data Anda. Jika entri tidak cocok dengan kriteria Anda, tambahkan kontrol lain yang meminta pengguna untuk memperbaiki entri.
Gunakan Match untuk mengekstrak string teks pertama yang cocok dengan pola dan MatchAll untuk mengekstrak semua string teks yang cocok. Ekstrak sub-laju untuk mengurai string kompleks.
Match mengembalikan rekaman informasi untuk kecocokan pertama yang ditemukan, dan MatchAll mengembalikan tabel rekaman untuk setiap kecocokan yang ditemukan. Rekaman tersebut atau rekaman berisi:
| Column | Tipe | KETERANGAN |
|---|---|---|
| sub-match bernama atau sub-match | SMS | Setiap submatch bernama memiliki kolomnya sendiri. Membuat submatch bernama dengan menggunakan (?<Nama>... ) dalam regex. Jika submatch bernama memiliki nama yang sama dengan salah satu kolom yang telah ditentukan sebelumnya, submatch lebih diutamakan, dan peringatan dihasilkan. Ganti nama submatch untuk menghindari peringatan ini. |
| Pertandingan Penuh | SMS | Semua string teks yang cocok. |
| Mulai Pertandingan | Nomor | Posisi awal kecocokan dalam string teks input. Karakter pertama string menghasilkan 1. |
| SubMatches, hanya jika MatchOptions.NumberedSubMatches digunakan. | Tabel kolom tunggal Teks (Nilai kolom) | Tabel sub-nilai bernomor dalam urutan muncul dalam ekspresi reguler. Umumnya, sub-mahkota bernama lebih mudah dikerjakan dan didorong. Gunakan fungsi ForAll atau fungsi Indeks untuk bekerja dengan sub-kecocokan individual. Jika tidak ada sub-nilai yang ditentukan dalam ekspresi reguler, tabel ini akan ada tetapi kosong. |
Fungsi ini mendukung MatchOptions. Secara default:
- Fungsi ini melakukan pencocokan peka huruf besar kecil. Gunakan MatchOptions.IgnoreCase untuk melakukan pencocokan yang tidak peka huruf besar/kecil.
- IsMatch cocok dengan seluruh string teks (Complete MatchOption), sementara Match dan MatchAll cari kecocokan di mana saja dalam string teks (Berisi MatchOption). Gunakan Complete, Contains, BeginsWith, atau EndsWith yang sesuai untuk skenario Anda.
IsMatch mengembalikan true jika string teks cocok dengan pola atau false jika tidak. Match mengembalikan kosong jika tidak ditemukan kecocokan yang dapat diuji dengan fungsi IsBlank . MatchAll mengembalikan tabel kosong jika tidak ditemukan kecocokan yang dapat diuji dengan fungsi IsEmpty .
Jika Anda menggunakan MatchAll untuk membagi string teks, pertimbangkan untuk menggunakan fungsi Pisahkan , yang lebih sederhana dan lebih cepat.
Pola
Kunci untuk menggunakan fungsi ini adalah dalam menggambarkan pola yang sesuai. Anda menggambarkan pola dalam string teks sebagai kombinasi dari:
- Karakter biasa, seperti "abc" atau "123".
- Pola yang telah ditentukan sebelumnya, seperti Letter, MultipleDigits, atau Email. Match(Enum mendefinisikan pola-pola ini.)
- Kode ekspresi reguler, misalnya "\d+\s+\d+" or "[a-z]+".
Gabungkan elemen-elemen ini menggunakan operator penggabungan string &. Misalnya, "abc" & Digit & "\s+"adalah pola valid yang cocok dengan karakter "a", "b", dan "c", diikuti oleh digit dari 0 hingga 9, diikuti oleh setidaknya satu karakter spasi.
Karakter biasa
Pola paling sederhana adalah urutan karakter biasa yang cocok persis.
Misalnya, ketika digunakan dengan fungsi , string "Hello" cocok dengan IsMatch pola "Hello" dengan tepat. Tidak lebih dan tidak kurang. String "hello!" tidak cocok dengan pola karena tanda seru di akhir dan karena kasusnya salah untuk huruf "h". (Lihat Match opsi untuk cara mengubah perilaku ini.)
Dalam bahasa pola, karakter . ? * + ( ) [ ] ^ $ | \ dicadangkan untuk tujuan khusus. Untuk menggunakan karakter ini, awali karakter dengan \ (garis miring terbalik) untuk menunjukkan bahwa karakter harus diambil secara harfiah, atau menggunakan salah satu pola yang telah ditentukan sebelumnya. Misalnya, Anda dapat mencocokkan string "Hello?" dengan menggunakan pola "Hello\\?" dengan garis miring terbalik sebelum tanda tanya.
Pola yang ditentukan sebelumnya
Pola yang ditentukan sebelumnya memberikan cara mudah untuk mencocokkan salah satu dari rangkaian karakter atau urutan beberapa karakter. Gunakan operator penggabungan string & untuk menggabungkan string teks Anda sendiri dengan anggota Match enum:
| Match enum | KETERANGAN | Ekspresi reguler |
|---|---|---|
| Setiap | Mencocokkan karakter apa pun. | . |
| Koma | Cocok dengan koma ,. |
, |
| Jari | Mencocokkan satu digit ("0" hingga "9"). | \d |
| Mencocokkan alamat email yang berisi simbol "pada" ("@") dan nama domain yang berisi titik (".") | Lihat catatan | |
| Tanda hubung | Mencocokkan tanda hubung. |
-
Lihat catatan |
| Kiri Paren | Cocok dengan tanda kurung (kiri . |
\( |
| Surat | Mencocokkan huruf. | \p{L} |
| Beberapa Digit | Mencocokkan satu atau beberapa digit. | \d+ |
| Beberapa Huruf | Mencocokkan satu atau beberapa huruf. | \p{L}+ |
| MultipleNonSpaces | Mencocokkan satu atau beberapa karakter yang tidak menambahkan spasi (bukan spasi, tab, atau baris baru). | \S+ |
| MultipleSpaces | Mencocokkan satu atau beberapa karakter yang menambahkan spasi (bukan spasi, tab, atau baris baru). | \s+ |
| Bukan Ruang | Cocok dengan satu karakter yang tidak menambahkan spasi. | \S |
| Digit Opsional | Mencocokkan nol, satu, atau beberapa digit. | \d* |
| OpsionalLetters | Mencocokkan nol, satu, atau beberapa huruf. | \p{L}* |
| OptionalNonSpaces | Mencocokkan nol, satu, atau beberapa karakter yang tidak menambahkan spasi. | \S* |
| Ruang Opsional | Mencocokkan nol, satu, atau beberapa karakter yang menambahkan spasi. | \s* |
| Masa | Cocok dengan titik atau titik .. |
\. |
| Kanan Paren | Cocok dengan tanda kurung )yang tepat . |
\) |
| Antariksa | Mencocokkan karakter yang menambahkan spasi. | \s |
| Tab | Cocok dengan karakter tab. | \t |
Misalnya, pola "A" & MultipleDigits cocok dengan huruf "A" diikuti oleh satu atau beberapa digit.
Power Apps menggunakan definisi yang berbeda untuk Match. EMail dan Match. Tanda hubung. Evaluasi Text( Match.Email ) untuk melihat ekspresi reguler yang digunakan oleh host Anda.
Ekspresi reguler
Pola yang digunakan fungsi-fungsi ini disebut ekspresi reguler. Dialek spesifik ekspresi reguler Power Fx dirinci dalam ekspresi Reguler di Power Fx.
Ekspresi reguler sangat kuat dan melayani berbagai tujuan. Tanda baca juga dapat terlihat seperti urutan tanda baca acak. Artikel ini tidak menjelaskan semua aspek ekspresi reguler, tetapi banyak informasi, tutorial, dan alat yang tersedia secara online.
Ekspresi reguler memiliki riwayat yang panjang dan tersedia dalam banyak bahasa pemrograman. Setiap bahasa pemrograman memiliki dialek ekspresi reguler sendiri, dan ada beberapa standar. Kami berusaha untuk memastikan ekspresi reguler yang sama memberikan hasil yang sama di semua implementasi Power Fx. Kompatibilitas tidak mudah dicapai karena Power Fx berjalan di atas JavaScript dan .NET yang memiliki perbedaan signifikan. Untuk mengakomodasi berjalan pada platform yang berbeda, ekspresi reguler Power Fx terbatas pada subset fitur yang didukung secara luas di seluruh industri.
Akibatnya, beberapa ekspresi reguler yang mungkin berfungsi di lingkungan lain dapat diblokir atau memerlukan tweak di Power Fx. Kesalahan waktu penulisan dilaporkan karena fitur yang tidak didukung ditemui. Ini adalah salah satu alasan bahwa ekspresi reguler dan opsi harus konstanta waktu penulisan dan tidak dinamis (misalnya, disediakan dalam variabel).
Nota
Power Apps menggunakan versi ekspresi reguler Power Fx yang lebih lama yang memiliki lebih sedikit batasan tetapi juga lebih sedikit fitur. MatchOptions.DotAll dan MatchOptions.FreeSpacing tidak tersedia dan definisi .Match Email dan Match. Tanda hubung berbeda. Pasangan pengganti Unicode tidak diperlakukan sebagai satu karakter. MatchOptions.NumberedSubMatches adalah default. Versi ekspresi reguler yang dijelaskan di sini akan segera tersedia di Power Apps, di bawah sakelar "kompatibilitas Power Fx V1.0".
Berikut adalah beberapa elemen dasar ekspresi reguler yang membangun kompleksitas dalam mengurai angka.
| Fitur | Example | KETERANGAN |
|---|---|---|
| Kelas karakter yang telah ditentukan sebelumnya | \d |
Ekspresi reguler ini cocok dengan satu angka, seperti 1. Kelas karakter cocok dengan sekumpulan karakter dan \d cocok dengan digit 0 standar dan 9 juga digit yang ditentukan dalam kategori karakter Unicode "Nd". Ada kelas karakter untuk huruf dan angka dengan \w dan spasi termasuk baris baru dengan \s. Ada juga kelas karakter terbalik yang dikapitalisasi: \D cocok dengan semua yang \d tidak. |
| Satu atau Beberapa | \d+ |
Ekspresi reguler ini cocok dengan satu atau beberapa angka, seperti 123. Setelah + elemen mengatakan "satu atau beberapa" dari elemen terakhir. |
| Nol atau Satu | \+?\d |
Ekspresi reguler ini cocok dengan tanda opsional + diikuti oleh satu angka ore lebih banyak, seperti +123 juga hanya 123. Setelah ? elemen mengatakan "ini opsional, itu dapat terjadi nol atau satu kali".
+ memiliki garis miring terbalik sebelum membedakannya sebagai karakter harfiah daripada penggunaan "satu atau lebih". |
| Pengelompokan dan pergantian | (-|\+)?\d+ |
Ekspresi reguler ini cocok dengan + tanda atau -, opsional, lalu serangkaian angka, seperti -123, +123, dan 123. Kami memperkenalkan dua konsep di sini yang sering digunakan bersama-sama. Pertama, kita memiliki tanda kurung yang mengelompokkan sebagai sekumpulan elemen bersama-sama, untuk bertindak ? . Kedua, kita memiliki | yang mengatakan "baik ini atau itu". |
| Kelas karakter kustom | (-|\+)?\d+[eE][\-\+]?\d+ |
Ekspresi reguler ini menambahkan eksponen ke campuran dengan dua kelas karakter, yang +123e-12cocok. Kelas karakter seperti | pergantian menyediakan "cocokkan salah satu hal ini" dalam bentuk yang lebih ringkas. Seperti halnya +, - memiliki arti khusus dalam kelas karakter ekspresi reguler sehingga kita perlu menghindarinya. |
| Nol atau Lebih | (-|\+)?\d+\.?\d*[eE][\-\+]?\d+ |
Ekspresi reguler ini menambahkan desimal setelah bagian bilangan bulat dari angka, seperti -123.456e-89 atau -123.E+32. Setelah \d titik desimal memiliki * kuantifier yang mengatakan "nol atau lebih kali" untuk digit desimal setelah . |
| Mengambil grup | (?<number>(-|\+)?\d+\.?\d*)[eE](?<exponent>[\-\+]?\d+) |
Terakhir, kami menambahkan grup pengambilan untuk number dan exponent. Ekspresi reguler tidak hanya dapat mencocokkan seluruh string, tetapi juga dapat mengekstrak bagian untuk digunakan dalam rumus Anda, dalam hal ini bagian sebelum e (atau E) dan bagian setelahnya. |
Contoh-contoh ini hanya memberikan sedikit rasa dari apa yang dapat dilakukan oleh ekspresi reguler. Mereka biasanya digunakan untuk memvalidasi nomor ID, alamat email, nomor telepon, tanggal dan waktu, dan untuk mengekstrak informasi dari semua jenis file teks. Lanjutkan perjalanan Anda dengan membaca Ekspresi reguler di Power Fx, bereksperimen, dan gunakan web untuk mempelajari lebih lanjut.
Match Opsi
Ubah perilaku fungsi-fungsi ini dengan menentukan satu atau beberapa opsi, yang Anda gabungkan menggunakan operator penggabungan string (&).
| Enum MatchOptions | KETERANGAN | Dampak pada ekspresi reguler |
|---|---|---|
| MatchOptions.BeginsWith | Pola harus cocok dari awal teks. | Menambahkan ^ ke awal ekspresi reguler. |
| MatchOptions.Selesai | Default untuk IsMatch di Power Apps. Pola cocok dengan seluruh string teks, dari awal hingga akhir. | Menambahkan ^ ke awal dan $ ke akhir ekspresi reguler. |
| MatchOptions.Contains | Default untuk Match dan MatchAll, dan IsMatch di luar Power Apps. Pola harus muncul di suatu tempat dalam teks namun tidak perlu memulai atau mengakhirinya. | Tidak mengubah ekspresi reguler. |
| MatchOptions.DotAll | Mengubah perilaku . operator (titik) agar sesuai dengan semua karakter, termasuk karakter baris baru. Tidak tersedia di Power Apps. |
Tidak mengubah ekspresi reguler. Opsi ini setara dengan pengubah "s" standar untuk ekspresi reguler. |
| MatchOptions.EndsWith | Pola harus cocok dengan bagian akhir string teks. | Menambahkan $ ke akhir ekspresi reguler. |
| MatchOptions.FreeSpacing | Karakter spasi kosong, termasuk baris baru, diabaikan dalam ekspresi reguler. Komentar akhir baris yang dimulai dengan # diabaikan. Tidak tersedia di Power Apps. |
Hanya mengubah bagaimana sintaks ekspresi reguler. Opsi ini setara dengan pengubah "x" standar untuk ekspresi reguler. |
| MatchOptions.Abaikan Kasus | Memperlakukan huruf besar dan huruf kecil sebagai sama. Secara default, pencocokan peka huruf besar-kecil. | Tidak mengubah ekspresi reguler. Pilihan ini setara dengan pengubah "i" standar untuk ekspresi reguler. |
| MatchOptions.Multiline | Mengubah perilaku ^ dan $ untuk mencocokkan di akhir garis. |
Tidak mengubah ekspresi reguler. Pilihan ini setara dengan pengubah "m" standar untuk ekspresi reguler. |
| MatchOptions.NumberedSubMatches | Pengambilan bernama lebih disukai karena lebih mudah dipahami dan dirawat. Performa juga meningkat karena pengambilan yang tidak diperlukan tidak dipertahankan. Tetapi untuk ekspresi reguler yang lebih lama, memperlakukan setiap set tanda kurung sebagai tangkapan bernomor yang disertakan dengan tabel SubMatches dalam hasilnya. Default di Power Apps. | Tidak mengubah ekspresi reguler. Pengambilan bernama dinonaktifkan dan \1 referensi kembali gaya diaktifkan. |
Penggunaan MatchAll sama dengan menggunakan pengubah "g" standar untuk ekspresi reguler.
Sintaks
IsMatch( Teks, Pola [, Opsi ] )
- Teks – Wajib. String teks yang akan diuji.
- Pola – Wajib. Pola yang akan diuji sebagai string teks. Menggabungkan pola yang telah ditentukan sebelumnya yang Match didefinisikan enum atau memberikan ekspresi reguler. Pola harus berupa rumus konstan tanpa variabel, sumber data, atau referensi dinamis lainnya yang berubah saat aplikasi berjalan. Perhatikan, bahwa rumus harus dinyatakan sebagai "Match. PredefinedPattern" misalnya Match. Email
- Opsi – Opsional. Kombinasi string teks nilai enum MatchOptions. Secara default, MatchOptions.Complete digunakan. Opsi harus berupa rumus konstan tanpa variabel, sumber data, atau referensi dinamis lainnya yang berubah saat aplikasi berjalan.
Match( Teks, Pola [, Opsi ] )
- Teks – Wajib. String teks yang akan dicocokkan.
- Pola – Wajib. Pola yang akan dicocokkan sebagai string teks. Menggabungkan pola yang telah ditentukan sebelumnya yang Match didefinisikan enum, atau memberikan ekspresi reguler. Pola harus berupa rumus konstan tanpa variabel, sumber data, atau referensi dinamis lainnya yang berubah saat aplikasi berjalan.
- Opsi – Opsional. Kombinasi string teks nilai enum MatchOptions. Secara default, MatchOptions.Contains digunakan. Opsi harus berupa rumus konstan tanpa variabel, sumber data, atau referensi dinamis lainnya yang berubah saat aplikasi berjalan.
MatchAll( Teks, Pola [, Opsi ] )
- Teks – Wajib. String teks yang akan dicocokkan.
- Pola – Wajib. Pola yang akan dicocokkan sebagai string teks. Menggabungkan pola yang telah ditentukan sebelumnya yang Match didefinisikan enum atau memberikan ekspresi reguler. Pola harus berupa rumus konstan tanpa variabel, sumber data, atau referensi dinamis lainnya yang berubah saat aplikasi berjalan.
- Opsi – Opsional. Kombinasi string teks nilai enum MatchOptions. Secara default, MatchOptions.Contains digunakan. Opsi harus berupa rumus konstan tanpa variabel, sumber data, atau referensi dinamis lainnya yang berubah saat aplikasi berjalan.
IsMatch Contoh
Karakter biasa
Bayangkan aplikasi Anda memiliki kontrol input Teks bernama TextInput1. Pengguna memasukkan nilai ke dalam kontrol ini untuk menyimpannya dalam database.
Pengguna mengetik Halo dunia ke dalam TextInput1.
| Rumus | KETERANGAN | Hasil |
|---|---|---|
IsMatch( TextInput1.Text, "Hello world" ) |
Uji apakah input pengguna cocok, persis, string "Hello world". | benar |
IsMatch( TextInput1.Text, "Good bye" ) |
Uji apakah input pengguna cocok, persis, string "Good bye". | palsu |
IsMatch( TextInput1.Text, "hello", Contains ) |
Uji apakah input pengguna berisi kata "hello" (peka huruf besar-kecil). | palsu |
IsMatch( TextInput1.Text, "hello", Contains & IgnoreCase ) |
Uji apakah input pengguna berisi kata "hello" (tidak peka huruf besar-kecil). | benar |
Pola yang ditentukan sebelumnya
| Rumus | KETERANGAN | Hasil |
|---|---|---|
IsMatch( "123-45-7890", Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit & Match.Digit ) |
Mencocokkan Nomor Jaminan Sosial Amerika Serikat | benar |
IsMatch( "joan@contoso.com", Match.Email ) |
Mencocokkan Alamat email | benar |
IsMatch( "123.456", Match.MultipleDigits & Match.Period & Match.OptionalDigits ) |
Mencocokkan urutan digit, tanda titik, dan kemudian angka nol atau digit lainnya. | benar |
IsMatch( "123", Match.MultipleDigits & Match.Period & Match.OptionalDigits ) |
Mencocokkan urutan digit, tanda titik, dan kemudian angka nol atau digit lainnya. Tanda titik tidak muncul di teks yang akan dicocokkan, sehingga pola ini tidak cocok. | palsu |
Ekspresi reguler
| Rumus | KETERANGAN | Hasil |
|---|---|---|
IsMatch( "986", "\d+" ) |
Mencocokkan nilai bilangan bulat lebih dari nol. | benar |
IsMatch( "1.02", "\d+(\.\d\d)?" ) |
Mencocokkan jumlah mata uang positif. Jika input berisi titik desimal, input juga harus berisi dua karakter numerik setelah titik desimal. Misalnya, 3,00 berlaku, namun 3,1 tidak. | benar |
IsMatch( "-4.95", "(-)?\d+(\.\d\d)?" ) |
Mencocokkan jumlah mata uang positif atau negatif. Jika input berisi titik desimal, input juga harus berisi dua karakter numerik setelah titik desimal. | benar |
IsMatch( "111-11-1111", "\d{3}-\d{2}-\d{4}" ) |
Mencocokkan nomor Jaminan Sosial Amerika Serikat. Memvalidasi format, jenis, dan panjang dari bidang input yang tersedia. String yang akan dicocokkan harus terdiri dari tiga karakter numerik diikuti tanda hubung, lalu dua karakter numerik diikuti tanda hubung, lalu empat karakter numerik. | benar |
IsMatch( "111-111-111", "\d{3}-\d{2}-\d{4}" ) |
Sama seperti contoh sebelumnya, namun salah satu tanda hubung keluar tidak pada tempatnya di input. | palsu |
IsMatch( "AStrongPasswordNot", "(?!^[0-9]\*$)(?!^[a-zA-Z]\*$)([a-zA-Z0-9]{8,10})" ) |
Memvalidasi kata sandi kuat yang harus berisi delapan, sembilan, atau 10 karakter, setidaknya satu digit, dan setidaknya satu karakter alfabet. String tidak boleh berisi karakter khusus. | palsu |
Matchcontoh dan MatchAll
| Rumus | KETERANGAN | Hasil |
|---|---|---|
Match( "Bob Jones <bob.jones@contoso.com>", "<(?<email>" & Match.Email & ")>") |
Mengekstrak hanya bagian email dari informasi kontak. | { email: "bob.jones@contoso.com", FullMatch: "<bob.jones@contoso.com>", StartMatch: 11 } |
Match( "Bob Jones <InvalidEmailAddress>", "<(?<email>" & Match.Email & ")>" |
Mengekstrak hanya bagian email dari informasi kontak. Tidak ada alamat hukum yang ditemukan (tidak ada tanda @), sehingga fungsi menghasilkan blank. | Kosong |
Match( Language(), "(<language>\w{2})(?:-(?<script>\w{4}))?(?:-(?<region>\w{2}))?" ) |
Mengekstrak bagian bahasa, skrip, dan wilayah dari tag bahasa yang dihasilkan fungsi Language. Hasil ini mencerminkan Amerika Serikat; lihat dokumentasi fungsi Language untuk contoh lainnya. Karakter grup operator (?: tanpa membuat sub-kecocokan lain. | { bahasa: "en", script: blank, wilayah: "US", FullMatch: "en-US", StartMatch: 1 } |
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ) |
Mengekstrak jam, menit, dan detik dari nilai durasi ISO 8601. Nomor yang diekstrak masih dalam string teks; gunakan fungsi Value untuk mengonversinya ke angka sebelum operasi matematika dilakukan padanya. | { jam: "2", menit: "1", detik: "39", FullMatch: "PT2H1M39S", StartMatch: 1 } |
Mari telusuri contoh terakhir. Jika Anda ingin mengonversi string ini menjadi nilai tanggal/waktu menggunakan fungsi Waktu , Anda harus meneruskan submatche bernama satu per satu. Untuk melakukan ini, gunakan fungsi With yang beroperasi pada rekaman yang Match mengembalikan:
With(
Match( "PT2H1M39S", "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" ),
Time( Value( hours ), Value( minutes ), Value( seconds ) )
)
Untuk contoh ini, tambahkan kontrol Tombol, atur properti OnSelect ke rumus ini, lalu pilih tombol:
Set( pangram, "The quick brown fox jumps over the lazy dog." )
| Rumus | KETERANGAN | Hasil |
|---|---|---|
Match( pangram, "THE", IgnoreCase ) |
Cari semua kecocokan "THE" dalam string teks yang berisi variabel pangram. String berisi dua kecocokan, tetapi hanya yang pertama yang dikembalikan karena Anda menggunakan Match dan bukan MatchAll. | { FullMatch: "The", StartMatch: 32 } |
MatchAll( pangram, "the" ) |
Cari semua kecocokan "the" dalam string teks yang berisi variabel pangram. Pengujian peka terhadap huruf besar-kecil, sehingga hanya instans kedua "the" yang ditemukan. |
|
MatchAll( pangram, "the", IgnoreCase ) |
Cari semua kecocokan "the" dalam string teks yang berisi variabel pangram. Dalam kasus ini, pengujian tidak peka terhadap huruf besar-kecil, sehingga kedua instans dari kata tersebut ditemukan. |
|
MatchAll( pangram, "\b\wo\w\b" ) |
Menemukan semua kata tiga huruf dengan "o" di tengah. "coklat" dikecualikan karena bukan kata tiga huruf dan, oleh karena itu, gagal mencocokkan "\b" (batas kata). |
|
Match( pangram, "\b\wo\w\b\s\*(?<between>\w.+\w)\s\*\b\wo\w\b" ) |
Mencocokkan semua karakter antara "fox" dan "dog". | { antara: "jumps over the lazy", FullMatch: "rubah melompati anjing malas", StartMatch: 17 } |
Untuk melihat hasil MatchAll di galeri:
Di layar kosong, sisipkan kontrol galeri vertikal kosong.
Atur properti Item galeri ke MatchAll( pangram, "\w+" ) atau MatchAll( pangram, MultipleLetters ).
Pilih "Tambahkan item dari tab Insert" di bagian tengah kontrol galeri untuk memilih template galeri.
Tambahkan kontrol Label ke template galeri.
Atur properti Teks label ke ThisItem.FullMatch.
Galeri diisi dengan setiap kata dalam contoh teks kami. Untuk melihat semua kata di satu layar, mengubah ukuran templat galeri dan kontrol label.