Skip to content

توکن‌های regex توضیح داده شده

همهٔ توکن‌های اصلی regex: لنگرها، کلاس‌های نویسه، تکرارکننده‌ها، گروه‌ها و پرچم‌ها. معنای هر کدام، با یک تطبیق مشخص. مرجع سریع همراه ابزار Regex Tester.

توکن‌های regex ترکیب‌پذیرند: یک لنگر، یک کلاس نویسه و یک تکرارکننده را کنار هم بگذارید تا یک الگو بسازید. ^ به آغاز رشته می‌چسبد، \d با یک رقم تطبیق می‌یابد و {2,4} تعداد تکرار را تعیین می‌کند. آن‌ها را به شکل ^\d{2,4}$ ترکیب کنید تا کل رشته‌ای از دو تا چهار رقم تطبیق یابد. الگو را از چپ به راست بخوانید، هر بار یک توکن. ابزار همراه Regex Tester به شما اجازه می‌دهد هر یک از این توکن‌ها را به‌صورت زنده روی متن خودتان امتحان کنید.

جدول مرجع · 55 موردباز کردن ابزار regex-tester →
55 of 55 rows
لنگرها
با موقعیت آغاز رشته تطبیق می‌یابد، یا با پرچم m با آغاز هر خط.^He → He
با موقعیت پایان رشته تطبیق می‌یابد، یا با پرچم m با پایان هر خط.lo$ → lo
با مرز واژه تطبیق می‌یابد؛ موقعی میان یک نویسهٔ واژه‌ای و یک نویسهٔ غیر واژه‌ای.\bcat\b → cat
با غیرمرز واژه تطبیق می‌یابد؛ موقعی میان دو نویسهٔ واژه‌ای یا دو نویسهٔ غیر واژه‌ای.\Bar → ar
کلاس‌های نویسه
با هر نویسهٔ یکتا جز خط جدید تطبیق می‌یابد، مگر آنکه پرچم s فعال باشد.a.c → abc
با هر رقم از 0 تا 9 تطبیق می‌یابد.\d → 7
با هر نویسه‌ای که رقم نیست تطبیق می‌یابد.\D → a
با هر نویسهٔ واژه‌ای تطبیق می‌یابد: یک حرف، یک رقم یا یک زیرخط.\w → _
با هر نویسه‌ای که نویسهٔ واژه‌ای نیست تطبیق می‌یابد.\W → !
با هر نویسهٔ سفید تطبیق می‌یابد: یک فاصله، یک تب یا یک خط جدید.a\sb → a b
با هر نویسه‌ای که نویسهٔ سفید نیست تطبیق می‌یابد.\S → a
با هر یک از نویسه‌های فهرست‌شده درون کروشه‌ها تطبیق می‌یابد.[aeiou] → e
با هر نویسه‌ای که در فهرست درون کروشه‌ها نیست تطبیق می‌یابد.[^aeiou] → s
با هر نویسهٔ یکتا در بازهٔ داده‌شده، از a تا z تطبیق می‌یابد.[a-z] → m
با هر نویسهٔ یکتا حتی خط جدید تطبیق می‌یابد؛ اصطلاح رایج برای نقطه‌ای که از خطوط می‌گذرد.[\s\S] → \n
با هر حرف یونیکد از هر خط نوشتاری تطبیق می‌یابد، وقتی پرچم u فعال باشد.\p{L} → é
با هر نویسهٔ عددی یونیکد از هر خط نوشتاری تطبیق می‌یابد، وقتی پرچم u فعال باشد.\p{N} → ٣
اسکیپ: با یک نویسهٔ خط جدید تطبیق می‌یابد.\n → line feed
اسکیپ: با یک نویسهٔ تب تطبیق می‌یابد.\t → tab
اسکیپ: با یک نویسهٔ بازگشت کالسکه تطبیق می‌یابد.\r → carriage return
با نویسهٔ یکتای دارای آن کد شانزده‌گانی دو رقمی تطبیق می‌یابد.\x41 → A
با نویسهٔ یکتای دارای آن نقطهٔ کد شانزده‌گانی تطبیق می‌یابد، وقتی پرچم u فعال باشد.\u{1F600} → 😀
اشتراک کلاس‌ها، با پرچم v: با نویسه‌هایی تطبیق می‌یابد که هم‌زمان در هر دو مجموعه باشند.[[a-z]&&[^aeiou]] → t
تکرارکننده‌ها
با توکن قبلی صفر بار یا بیشتر تطبیق می‌یابد.ab* → abbb
با توکن قبلی یک بار یا بیشتر تطبیق می‌یابد.a+ → aaa
با توکن قبلی صفر یا یک بار تطبیق می‌یابد و آن را اختیاری می‌کند.colou?r → color
با توکن قبلی دقیقاً n بار تطبیق می‌یابد.a{3} → aaa
با توکن قبلی n بار یا بیشتر تطبیق می‌یابد.a{2,} → aaaa
با توکن قبلی بین n تا m بار تطبیق می‌یابد، با احتساب هر دو حد.a{2,4} → aaa
تکرارکنندهٔ تنبل: با توکن قبلی صفر بار یا بیشتر تطبیق می‌یابد و تا جای ممکن کم می‌گیرد.<.*?> on <a><b> → <a>
تکرارکنندهٔ تنبل: با توکن قبلی یک بار یا بیشتر تطبیق می‌یابد و تا جای ممکن کم می‌گیرد.\d+? on 123 → 1
تکرارکنندهٔ تنبل: با توکن قبلی صفر یا یک بار تطبیق می‌یابد و صفر را ترجیح می‌دهد.ab?? on ab → a
تکرارکنندهٔ تنبل: با توکن قبلی بین n تا m بار تطبیق می‌یابد و تا جای ممکن کم می‌گیرد.a{1,3}? on aaa → a
تکرارکنندهٔ مالکانه (PCRE): با توکن قبلی صفر بار یا بیشتر تطبیق می‌یابد و آن را نگه می‌دارد و هرگز برای امتحان تقسیم‌های دیگر به عقب برنمی‌گردد..*+a on aaa → no match
گروه‌ها و جایگزینی
گروه ضبط‌کننده: با دنباله تطبیق می‌یابد و آن را برای ارجاع‌های پسین به یاد می‌سپارد.(ab)+ → abab
گروه غیرضبط: با دنباله تطبیق می‌یابد بدون آنکه آن را به یاد بسپارد.(?:ab)+ → abab
پیش‌نگری مثبت: اگر نویسه‌های بعدی abc باشند تطبیق می‌یابد، بدون آنکه آن‌ها را مصرف کند.a(?=b) → a
پیش‌نگری منفی: اگر نویسه‌های بعدی abc نباشند تطبیق می‌یابد، بدون آنکه آن‌ها را مصرف کند.a(?!b) → a
ارجاع پسین: با همان متن دقیقی که گروه ضبط‌کنندهٔ 1 گرفته تطبیق می‌یابد.(a)\1 → aa
جایگزینی: با عبارت پیش از خط عمودی یا عبارت پس از آن تطبیق می‌یابد.cat|dog → dog
گروه ضبط‌کنندهٔ نام‌دار: با دنباله تطبیق می‌یابد و آن را با نام داده‌شده به یاد می‌سپارد.(?<year>\d{4}) → year = 2026
پس‌نگری مثبت: اگر نویسه‌های قبلی abc باشند تطبیق می‌یابد، بدون آنکه آن‌ها را مصرف کند.(?<=a)b → b
پس‌نگری منفی: اگر نویسه‌های قبلی abc نباشند تطبیق می‌یابد، بدون آنکه آن‌ها را مصرف کند.(?<!a)b → b
ارجاع پسین نام‌دار: با همان متن دقیقی که گروه نام‌دار گرفته تطبیق می‌یابد.(?<w>\w+) \k<w> → the the
گروه اتمی (PCRE): یک بار با دنباله تطبیق می‌یابد و هرگز به درون آن بازنمی‌گردد.(?>a+)ab on aab → no match
بازنشانی شاخه (PCRE): جایگزینی که در آن هر شاخه شماره‌های گروه یکسانی را بازاستفاده می‌کند.(?|(cat)|(dog)) → \1 = dog
پرچم‌ها
پرچم سراسری: همهٔ تطبیق‌ها را در رشته پیدا می‌کند، نه فقط نخستین را./a/g on aaa → a, a, a
پرچم بی‌توجهی به بزرگی و کوچکی حروف: هنگام تطبیق به بزرگی و کوچکی حروف توجه نمی‌کند./Hi/i → hi
پرچم چندخطی: ^ و $ را به‌عنوان آغاز و پایان هر خط در نظر می‌گیرد./^a/m matches at the start of each line
پرچم dotall: اجازه می‌دهد نقطه با خط جدید هم تطبیق یابد./a.b/s → a\nb
پرچم یونیکد: الگو و ورودی را به‌عنوان نقاط کد یونیکد در نظر می‌گیرد./\u{1F600}/u → 😀
پرچم چسبان: فقط در دقیقاً همان موقعیتی که lastIndex تعیین کرده تطبیق می‌یابد./ab/y matches only at lastIndex
پرچم نمایه‌ها: موقعیت آغاز و پایان هر تطبیق را به نتیجه می‌افزاید./b/d on abc → indices [1, 2]
پرچم مجموعه‌های یونیکد: یک u سخت‌گیرانه‌تر که عملیات مجموعه‌ای درون کلاس را هم مجاز می‌کند./[a-z&&[^aeiou]]/v → t
پرچم گسترده (PCRE): فاصله‌های بدون اسکیپ و توضیح‌های # درون الگو را نادیده می‌گیرد./a b/x → ab