نمونه هایی از الگوهای پرچم

ساخت وبلاگ

یک عبارت منظم ، که به عنوان یک رشته مشخص شده است ، ابتدا باید در نمونه ای از این کلاس تهیه شود. سپس از الگوی حاصل می توان برای ایجاد یک شیء کبریت استفاده کرد که می تواند توالی های شخصیت دلخواه را در برابر بیان منظم مطابقت دهد. همه ایالت های درگیر در انجام یک مسابقه در مسابقه قرار دارند ، بنابراین بسیاری از مسابقات می توانند با همان الگوی مشترک باشند.

بنابراین یک توالی دعوت معمولی است

یک روش Matches توسط این کلاس به عنوان راحتی برای زمان استفاده از یک عبارت معمولی فقط یک بار تعریف می شود. این روش یک عبارت را کامپایل می کند و یک توالی ورودی را در برابر آن در یک دعوت واحد مطابقت می دهد. صورتحساب

معادل سه جمله فوق است ، اگرچه برای مسابقات مکرر ، از آنجا که اجازه نمی دهد از الگوی کامپایل شده استفاده مجدد شود ، کارآمدتر است.

موارد این کلاس تغییر ناپذیر است و برای استفاده توسط چندین موضوع همزمان بی خطر است. موارد کلاس Matcher برای چنین استفاده ای بی خطر نیست.

خلاصه سازه های بیان منظم

؟@ [\] ^_ `~][ x21- x2f x31- x40 x5b- x60 x7b- x7e]> * ?[]^ <|>>

ساختن مسابقات
شخصیت ها
ایکس شخصیت x
\ شخصیت backslash
x00حرف شخصیت با مقدار اکتال0N (0حرف7)
x00nn شخصیت با مقدار اکتال0NN (0حرف7)
x00منگنه شخصیت با مقدار اکتال0MNN (0مگس3 ، 0حرف7)
xHH شخصیت با ارزش شش ضلعی0xHH
uHHHH شخصیت با ارزش شش ضلعی0xHHHH
x شخصیت با ارزش شش ضلعی0xح. H (chator. min_code_point 0xح. سخنرانی
شخصیت برگه (' u0009')
کاراکتر Newline (Feed Line) (' u000a')
شخصیت بازگرداندن کالسکه (' u000d')
f شخصیت فید فرم (' u000c')
a شخصیت هشدار (بل) (' u0007')
e شخصیت فرار (' u001b')
cایکس شخصیت کنترل مربوط به x
کلاسهای
[ABC] a, b، یاc(کلاس ساده)
[^ABC] هر شخصیتی به جزa, b، یاc(نفی)
[a-za-z] aاز طریقzیاAاز طریقZ، فراگیر (دامنه)
[A-D [M-P]] aاز طریقd، یاmاز طریقp: [A-DM-P](اتحاد. اتصال)
[a-z && [def]] d, e، یاf(تقاطع)
[a-z && [^bc]] aاز طریقz، بجزbوتc: [AD-Z](منها کردن)
[a-z && [^m-p]] aاز طریقz، و نهmاز طریقp: [A-LQ-Z](منها کردن)
کلاسهای شخصیت از پیش تعریف شده
. هر شخصیتی (ممکن است یا ممکن است با اصطلاحات خط مطابقت داشته باشد)
d یک رقم:[0-9]
D غیر رقمی:[^0-9]
s یک شخصیت فضای سفید:[ t n x0b f r]
S یک شخصیت غیر WhiteSpace:[^ s]
w یک شخصیت کلمه:[a-za-z_0-9]
W یک شخصیت غیر کلمه:[^ w]
کلاسهای شخصیت POSIX (فقط US-ASCII)
p یک شخصیت الفبایی مورد پایین:[A-Z]
p یک شخصیت الفبایی مورد بالا:[A-Z]
p همه ASCII:[ x00- x7f]
p یک شخصیت الفبایی:[ p p]
p رقم اعشاری:[0-9]
p یک شخصیت الفبایی:[ p p]
p نگارشی: یکی از! "#$ ٪ & '()*+،-./:؛؟@[]^_`<|>~
p یک شخصیت قابل مشاهده:[ p p]
p یک شخصیت قابل چاپ:[ p x20]
p یک فضا یا یک برگه:[ t]
p یک شخصیت کنترل:[ x00- x1f x7f]
p رقم شش ضلعی:[0-9a-fa-f]
p یک شخصیت فضای سفید:[ t n x0b f r]
کلاس های Java. lang. Character (نوع کاراکتر جاوا ساده)
p معادل java. lang. character. islowercase ()
p معادل java. lang. character. isuppercase ()
p معادل java. lang. character. iswhitespace ()
p معادل java. lang. character. ismirored ()
کلاس برای اسکریپت های یونیکد ، بلوک ها ، دسته ها و خصوصیات باینری
p یک شخصیت اسکریپت لاتین (اسکریپت)
p یک شخصیت در بلوک یونانی (بلوک)
p یک حرف بزرگ (دسته)
p یک شخصیت الفبایی (خاصیت باینری)
p یک نماد ارز
P هر شخصیتی به جز یکی در بلوک یونانی (نفی)
[ p && [^ p]] هر حرف به جز یک حرف بزرگ (تفریق)
کبریت های مرزی
^ آغاز یک خط
$ پایان یک خط
x08 یک مرز کلمه
B یک مرز غیر مرتبط
A آغاز ورودی
G پایان مسابقه قبلی
x1a پایان ورودی اما برای پایانه نهایی ، در صورت وجود
z انتهای ورودی
اندازه گیری کننده های حریص
ایکس? x ، یک بار یا اصلاً
ایکس* x ، صفر یا بیشتر
ایکس+ x ، یک یا چند بار
ایکسحرف> x ، دقیقاً n بار
ایکسحرف,> x ، حداقل n بار
ایکسحرف,مگس> x ، حداقل n اما بیش از m زمان نیست
اندازه گیری های تمایلی
ایکس?? x ، یک بار یا اصلاً
ایکس*? x ، صفر یا بیشتر
ایکس+? x ، یک یا چند بار
ایکسحرف>? x ، دقیقاً n بار
ایکسحرف,>? x ، حداقل n بار
ایکسحرف,مگس>? x ، حداقل n اما بیش از m زمان نیست
اندازه گیری های قدرتمند
ایکس?+ x ، یک بار یا اصلاً
ایکس*+ x ، صفر یا بیشتر
ایکس++ x ، یک یا چند بار
ایکسحرف>+ x ، دقیقاً n بار
ایکسحرف,>+ x ، حداقل n بار
ایکسحرف,مگس>+ x ، حداقل n اما بیش از m زمان نیست
اپراتورهای منطقی
باسله x به دنبال y
ایکس|حرف یا x یا y
(ایکس) X ، به عنوان یک گروه ضبط
منابع برگشتی
حرف هر چه گروه ضبط همسان باشد
k name> هرچه گروه "نام" نامگذاری شده همسان باشد
نقل قول
هیچ چیز ، اما شخصیت زیر را نقل می کند
Q هیچ چیز ، اما به نقل از همه شخصیت ها تا زمانی کهE
E هیچ چیز ، اما به نقل از آغاز شده توسطQ
سازه های ویژه (نامگذاری شده و غیر مجازات)
(?ایکس) X ، به عنوان یک گروه اسکان نامگذاری شده
(?:ایکس) X ، به عنوان یک گروه غیر اسکان
(؟ idmsuxu-idmsuxu) هیچ چیز ، اما پرچم های مطابقت را به من تبدیل می کند - خاموش
(؟ idmsux-idmsux:ایکس) X ، به عنوان یک گروه غیر اسکان با پرچم های داده شده I D M S U X on - Off
(?=ایکس) X، از طریق انتظار مثبت با عرض صفر
(?!ایکس) X، از طریق انتظار منفی عرض صفر
(؟ ایکس) X، از طریق نگاه مثبت با عرض صفر پشت
(؟ ایکس) X، از طریق نگاه منفی با عرض صفر پشت
(?>ایکس) X به عنوان یک گروه مستقل و غیر اسیر

بک اسلش، فرار و نقل قول

شخصیت بک اسلش ('') برای معرفی ساختارهای فرار، همانطور که در جدول بالا تعریف شده است، و همچنین برای نقل کاراکترهایی که در غیر این صورت به عنوان ساختارهای بدون فرار تفسیر می شوند، خدمت می کند. بنابراین بیان\منطبق بر یک بک اسلش و با پرانتز چپ مطابقت دارد.

استفاده از بک اسلش قبل از هر کاراکتر الفبایی که نشان دهنده ساختار فرار نیست یک خطا است. اینها برای برنامه های افزودنی بعدی به زبان بیان منظم رزرو شده اند. بدون در نظر گرفتن اینکه آیا آن کاراکتر بخشی از یک ساختار غیرالفبایی است، می توان از بک اسلش قبل از یک کاراکتر غیرالفبایی استفاده کرد.

اسلش های بک اسلش های رشته ای در کد منبع جاوا به عنوان الزامات زبان Java™ به عنوان فرار یونیکد (بخش 3. 3) یا سایر نویسه ها (بخش 3. 10. 6) تفسیر می شوند. بنابراین لازم است که در حروف رشته ای که بیانگر عبارات منظم هستند، اسلش های معکوس را دوبرابر کنید. برای محافظت از آنها در برابر تفسیر توسط کامپایلر بایت کد جاوا. رشته به معنای واقعی کلمه"x08"برای مثال، هنگامی که به عنوان یک عبارت منظم تفسیر می شود، با یک کاراکتر backspace مطابقت دارد"\b"با یک مرز کلمه مطابقت داردرشته به معنای واقعی کلمه"(سلام)"غیر قانونی است و منجر به خطای زمان کامپایل می شود. به منظور مطابقت با رشته(سلام)رشته به معنای واقعی کلمه"\(سلام\)"باید استفاده شود.

کلاس های شخصیت

کلاس های کاراکتر ممکن است در کلاس های کاراکتر دیگر ظاهر شوند و ممکن است توسط عملگر اتحادیه (ضمنی) و عملگر تقاطع (تشکیل شوند)&&). عملگر اتحادیه کلاسی را نشان می دهد که شامل هر کاراکتری است که حداقل در یکی از کلاس های عملوند آن قرار دارد. عملگر تقاطع کلاسی را نشان می دهد که شامل هر کاراکتری است که در هر دو کلاس عملوند آن قرار دارد.

تقدم عملگرهای کلاس کاراکتر به شرح زیر است، از بالاترین به پایین ترین:

1 فرار تحت اللفظی x
2 گروه بندی [. ]
3 دامنه a-z
4 اتحاد. اتصال [a-e][i-u]
5 تقاطع [a-z&&[aeiou]]

توجه داشته باشید که مجموعه متفاوتی از متاکاراکترها در داخل یک کلاس کاراکتر نسبت به خارج از یک کلاس کاراکتر وجود دارند. به عنوان مثال، عبارت منظم.معنای خاص خود را در کلاس کاراکتر از دست می دهد، در حالی که عبارت-تبدیل به یک فراکاراکتر تشکیل دهنده محدوده می شود.

پایان دهنده های خط

  • یک کاراکتر خط جدید (فید خط) ('),
  • 'یک نویسه کالسکه-بازگشت بلافاصله با یک نویسه خط جدید (),
  • ""),
  • یک شخصیت مستقل کالسکه بازگرداندن (' r'),
  • یک شخصیت خط بعدی (' u0085'یک شخصیت جداکننده خط (
  • ' u2028')، یا).

یک شخصیت پاراگراف جداکننده (

' u2029.اگر حالت UNIX_LINES فعال شود ، تنها اصطلاحات خط شناخته شده شخصیت های Newline هستند.

بیان منظم^وت$به طور پیش فرض ، عبارات منظم^وت$ترمینال های خط را نادیده بگیرید و فقط در ابتدا و انتها به ترتیب از کل دنباله ورودی مطابقت داشته باشید. اگر حالت چند لایه فعال شده باشد

در ابتدای ورودی و بعد از هر ترمینال خط به جز در پایان ورودی مطابقت دارد. وقتی در حالت چند لایه است

درست قبل از یک ترمینال خط یا پایان دنباله ورودی مطابقت دارد.

گروه ها و اسیر کردنشماره گروهگروه های ضبط با شمارش پرانتز افتتاحیه خود از چپ به راست شماره گذاری می شوند. در بیان

1 شماره گروه
2 ، به عنوان مثال ، چهار گروه از این دست وجود دارد:
3 ((الف) (ب (ج)))
4 (آ)

(قبل از میلاد مسیح))

(ج)

گروه صفر همیشه برای کل بیان مخفف است.
  • گروه های ضبط به این دلیل نامگذاری شده اند زیرا ، در طی یک مسابقه ، هر پی در پی دنباله ورودی که با چنین گروهی مطابقت دارد ذخیره می شود. توالی اسیر شده ممکن است بعداً در عبارت ، از طریق یک مرجع پشتی استفاده شود ، و همچنین ممکن است پس از اتمام عملیات مسابقه ، از مسابقه بازیابی شود.اسم گروهاز طریق'آ' (از طریقاز طریق' u0041'),
  • از طریق' u005a'از طریق'آ' (از طریقاز طریق' u0061'),
  • از طریق' u007a'از طریق'0' (از طریقاز طریق' u0030'),

A از طریق' u0039'

به نام گروه اسکانهمانطور که در شماره گروه شرح داده شده است ، هنوز هم شماره گذاری شده است.ورودی ضبط شده مرتبط با یک گروه همیشه متعاقباً این گروه است که اخیراً با آن مطابقت دارد. اگر گروهی به دلیل کمیت بار دوم ارزیابی شود ، در صورت عدم موفقیت ، ارزش قبلی آن را در صورت وجود حفظ می کند. تطبیق رشته"ابا"در برابر بیان(الف (ب)؟)+، به عنوان مثال ، گروه دو را تنظیم می کند

"ب"(?بشرتمام ورودی های ضبط شده در ابتدای هر مسابقه دور ریخته می شوند.

گروه هایی که با شروع می شوند

گروه های خالص و غیر اسکان هستند که متن را ضبط نمی کنند و به کل گروه ، یا گروه اسکان نامگذاری نمی شوند.

پشتیبانی یونیکداین کلاس مطابق با سطح 1 استاندارد فنی یونیکد شماره 18 است: بیان منظم یونیکد ، به علاوه معادل های متعارف RL2. 1.توالی فرار یونیکد مانند U2014وت" U2014"وت"\ U2014".

، در حالی که مساوی نیست ، در همان الگوی کامپایل کنید ، که شخصیت را با مقدار شش ضلعی مطابقت می دهد0x2014یک شخصیت یونیکد همچنین می تواند با استفاده از نماد HEX (مقدار نقطه کد شش ضلعی) به طور مستقیم در یک بیان منظم نشان داده شود ، همانطور که در ساخت توضیح داده شده است x ، به عنوان مثال یک شخصیت تکمیلی u+2011f را می توان به عنوان مشخص کرد x ، به جای دو دنباله متوالی یونیکد فرار از جفت جانشین.

ud840pوتPاسکریپت های یونیکد ، بلوک ها ، دسته ها و خصوصیات باینری باوت>ساختار مانند Perl. p prop>اگر ورودی دارای ویژگی خاص باشد ، مطابقت دارد

p prop

اگر ورودی آن خاصیت داشته باشد مطابقت ندارد.

اسکریپت ها ، بلوک ها ، دسته ها و خصوصیات باینری را می توان در داخل و خارج از کلاس شخصیت استفاده کرد.

اسکریپت ها یا با پیشوند ، مانند Ishiragana ، یا با استفاده از کلمه کلیدی اسکریپت (یا فرم کوتاه آن) مانند Script = Hiragana یا SC = Hiragana مشخص شده اند.

نامهای اسکریپت پشتیبانی شده توسط الگوی نام های اسکریپت معتبر پذیرفته شده و تعریف شده توسط unicodescript. foame است.

بلوک ها با پیشوند در ، مانند Inmongolian ، یا با استفاده از بلوک کلمه کلیدی (یا فرم کوتاه آن) مانند بلوک = مغول یا BLK = مغول مشخص می شوند.

  • نام بلوک های پشتیبانی شده توسط الگوی نام های بلوک معتبر پذیرفته شده و تعریف شده توسط unicodeblock. foame است.
  • دسته بندی های پشتیبانی شده از استاندارد یونیکد در نسخه مشخص شده توسط کلاس کاراکتر هستند. نامهای دسته بندی مواردی هستند که در استاندارد تعریف شده اند ، چه هنجاری و چه آموزنده.
  • حروف الفبا
  • مربوط به عقاید
  • حرف
  • حسابهای کوچک
  • بزرگ
  • عناوین
  • نقطه گذاری
  • کنترل
  • فضای سفید
  • رقم
  • hex_digit

noncharacter_code_point

 

اختصاص داده مسابقات
p کلاس هاp
p مسابقاتp
p همه ASCII:[ x00- x7f]
p یک شخصیت الفبایی:p
p [ x00- x7f]p
p یک شخصیت الفبایی:[ p p]
p یک شخصیت الفبایی:p
p یک شخصیت قابل مشاهده:یک شخصیت نقطه گذاری:
p یک شخصیت قابل چاپ:[^ p p p p]
p یک فضا یا یک برگه:[ p p && [^ p]]
p یک شخصیت کنترل:p
p رقم شش ضلعی:[ p p]
p رقم شش ضلعی:p
d یک رقم:p
D غیر رقمی:یک رقم:
s یک شخصیت فضای سفید:p
S یک شخصیت غیر WhiteSpace:[^ s]
w یک شخصیت کلمه:[^ s]
W یک شخصیت غیر کلمه:[^ w]

یک شخصیت غیر کلمه:

[^ w]

مقایسه با پرل 5

موتور الگوی تطبیق سنتی مبتنی بر NFA را با جایگزین سفارش داده شده انجام می دهد ، همانطور که در Perl 5 رخ می دهد.

hسازه های پرل که توسط این کلاس پشتیبانی نمی شوند:

Hکلاسهای شخصیت از پیش تعریف شده (شخصیت یونیکد)

vیک فضای سفید افقی

Vفضای سفید غیر افقی

Rیک فضای سفید عمودیفضای سفید غیر عمودی

هر دنباله خط شکن یونیکد u000d u000a | [ u000a u000b u000c u000d u0085 u2028 u2029]>ساختارهای برگشت ، g n>برای گروه ضبط و

نامبرای گروه اسکان نامگذاری شده.>ساختار شخصیت نامگذاری شده ،

نامبرای یک شخصیت یونیکد به نام خود.>)وت(؟ کد>),

وت(؟؟ کدنحو نظر تعبیه شده

(؟#اظهار نظر)

وت

سازه هایی که توسط این کلاس پشتیبانی می شوند اما توسط Perl نیست:

اتحادیه و تقاطع کلاس شخصیت همانطور که در بالا توضیح داده شد.1از طریق9در پرل ،9از طریق1از طریق9اگر حداقل بسیاری از زیرگروه ها وجود داشته باشند ، به عنوان یک مرجع پشتی رفتار می شود ، در غیر این صورت ، در صورت امکان ، به عنوان یک فرار اکتال تفسیر می شود. در این کلاس فرار اکتال همیشه باید با صفر شروع شود. در این کلاس،

از طریقgهمیشه به عنوان منابع برگشتی تعبیر می شوند ، و تعداد بیشتری به عنوان مرجع پشتی پذیرفته می شود اگر حداقل بسیاری از زیرزمین ها در آن نقطه در بیان منظم وجود داشته باشند ، در غیر این صورت تجزیه کننده رقم ها را کاهش می دهد تا تعداد کوچکتر یا برابر با تعداد موجودگروه ها یا یک رقم است.

پرل از

پرچم را برای درخواست مسابقه ای که آخرین مسابقه از آن باقی مانده است ، پرچم گذاری کنید. این قابلیت به طور ضمنی توسط کلاس Matcher ارائه می شود: دعوت های مکرر از روش Find از سر گرفته می شود که آخرین مسابقه باقی مانده است ، مگر اینکه مجدداً تنظیم مجدد شود.

استراتژی ترید...
ما را در سایت استراتژی ترید دنبال می کنید

برچسب : نویسنده : مرجان شیرمحمدی بازدید : 51 تاريخ : سه شنبه 15 فروردين 1402 ساعت: 22:08