کامپیوتربرنامه نویسی

جاوا اسکریپت، نمونه عبارت منظم، بررسی بیان منظم

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

گفتن این که یک عبارت جاوا اسکریپت به طور منظم توالی produmannnyh بسیار بهتر است indexOf دارند () فراخوانی در قالب چرخه ای معمولی و اپراتورها، نمی تواند اما می گویند که آن ساخته شده است کد اسکریپت جمع و جور است، اما کمی قابل فهم به uninitiated است، به روشنی می تواند باشد.

شیء RegExp = + قالب موتور

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

یک نماد خاص در هنگام نوشتن عبارات منظم را بسیار آسان برای استفاده و کاملا موثر است، اما آن را نیاز به مراقبت، پاکیزگی و صبر و شکیبایی از توسعه است. توسط نماد الگوهای عبارت منظم نیاز به استفاده می شود. این است یک مد زودگذر نیست، آن منطق یک مکانیزم برای پیاده سازی «جاوا اسکریپت عبارات منظم است."

الگوی عبارت منظم

مجاز دو گزینه دارد:

ور expOne = / ABC * / من؛

ور expTwo = استقبال میکنم ( "ای بی سی *"، "من")؛

به طور معمول آن را با استفاده از روش اول. در مورد دوم، به نقل از، به دلیل استفاده از شخصیت '\'، باید آن را با قواعد کلی فرار.

"من" - پرچم نشان می دهد "به حروف حساس". «جهانی جستجو 'و' M '- - یک جستجوی چند خط شما همچنین می توانید' گرم 'پرچم استفاده کنید.

نماد '/' به نشان می دهد مشترک به استفاده از یک الگو.

آغاز و پایان عبارت منظم

به گزارش ^ 'تعریف شخصیت (ها) که از آن برای شروع عبارت منظم، و' $ 'تعیین می کند که شخصیت (ها) باید در انتهای باشد. شما باید با آنها در داخل یک عبارت، جایی که آنها یک معنی متفاوت دارند تجربه نیست.

به عنوان مثال،

ور eRegExp = استقبال میکنم جدید (cRegExp، "من")؛

ور cRegRes = ''؛

ور sTest = 'AbcZ'؛

اگر (eRegExp.test (sTest)) {

cRegRes + = '- بله'؛

} دیگری {

cRegRes + = '- بدون'؛

}

ور dTestLine = کد document.getElementById ( 'scTestLine')؛

dTestLine.innerHTML = 'بیان /' + cRegExp + '/ برای ردیف "' + sTest + '"' + cRegRes.

عنصر scTestLine، منجر خواهد شد (متغیر cRegExp است به معنی مسئول):

بیان / ^ AbcZ $ / برای رشته "abcz" - بله

اگر شما به "من" پرچم حذف، نتیجه این است:

بیان / ^ AbcZ $ / برای رشته "abcz" - بدون

محتویات یک عبارت منظم

یک عبارت منظم یک رشته از کاراکتر است که موضوع جستجو می باشد. بیان / QWERTY / به دنبال برای ورود این رشته است:

بیان / QWERTY / برای رشته "QWERTY" - بله

بیان / QWERTY / برای رشته "123qwerty456" - بله

تغییرات '^' عبارت اند از:

بیان / ^ QWERTY / برای رشته "123qwerty456" - بدون

بیان / ^ QWERTY / برای رشته "qwerty456" - بله

به طور مشابه، برای پایان نماد خط. عبارات منظم برای هماهنگی اجازه می دهد: به عنوان مثال، [AZ]، [AZ]، [0-9] - تمام حروف الفبا در این مورد و یا اعداد و ارقام. نامه های روسی نیز ممکن است استفاده شود، اما باید با توجه به پشتیبانی می کند از رشته ها (که در پی است است که به دنبال) و صفحات پرداخت. اغلب حروف روسی، و همچنین کاراکترهای خاص، بهتر است به مجموعه ای از کدهای است.

زمانی که تشکیل یک عبارت منظم می توانید گزینه های برای حضور نمادهای خاص در یک محل خاص را مشخص کنید، با تعداد آنها داده شرح زیر است: '*' = 0 تکرار یا برابر بیشتر. '+' = 1 یا چند بار تکرار؛ {1} همان است، به عنوان '+'؛ {N} = تکرار دقیقا n بار؛ {N، N} = تکرار بار یا بیشتر؛ {N، M} = تکرار n به m بار.

با استفاده از براکت، شما می توانید شخصیت مجموعه ای از گزینه های مشخص کنید. مثل این می رسد. [از Abcd] = [آگهی] = هر چهار نماد: «یک، 'B'، 'C' و یا 'D'. شما می توانید در غیر این صورت مشخص کنید. هر شخصیت دیگر از کسانی که مشخص شده در مجموعه: [^ ABCD] = هر شخصیت دیگر از 'A'، 'B'، 'C' و یا 'D'. "؟" این نشان می دهد که در این نقطه نماد نمی تواند باشد. '.' هر شخصیت دیگر از نشان می دهد خط جدید مشخص می کند. این '\ N'، '\ R'، '\ u2028 "یا" \ u2029. عبارت «\ S * | \ S * '=' [\ S | \ S] * به معنی جستجو برای هر شخصیت، از جمله خط جدید.

نسخه ساده شده ای از عبارت منظم

عبارت «[\ S | \ S] * '- فضای جستجو، و یا عدم آن، این است که تمام است که در خط. در این مورد، نماد '\' S در نشان می دهد یک فضا، و '\' S - غیبت او.

به طور مشابه، شما می توانید '\' د به جستجو برای اعداد اعشاری استفاده کنید، و '\ D' پیدا کردن یک شخصیت غیر عددی. نشانه گذاری '\ F'، 'R' و '\ N' به فرم اشتراک، بازگشت نورد و خط خوراک مطابقت دارد.

شخصیت تب - '\' T را، عمودی - '\ V. تعیین '\ w' را می یابد هر شخصیت الفبای لاتین (حروف، عدد، و علامت تاکید بر) = [A-Za های-z0-9_].

تعیین '\ W' معادل [^ A-ZA-z0-9_] است. این به این معنی هر شخصیت است که حرف از حروف الفبا، شماره، و یا '_' است.

شخصیت جستجو '0 \' = جستجو شخصیت NUL. جستجو '\ xHH "یا" \ uHHHH' = جستجو کد کاراکتر یا HHHH HH است. H - رقمی مبنای شانزده است.

جمله بندی توصیه می شود و برنامه نویسی از عبارت منظم

هر عبارت منظم مهم است به دقت در نسخه های مختلف ردیف تست شده است.

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

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

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

در هنگام پیاده سازی الگوریتم های جستجو در بیان جاوا اسکریپت به طور منظم باید به دقت بررسی می شود. بسیار مهم است که برای کنترل رمزگذاری کاراکتر.

پرانتز در عبارت منظم

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

ور cRegExp = "[AZ] * (PNG | JPG | GIF)."؛

ور eRegExp = استقبال میکنم جدید (cRegExp، "من")؛

ور cRegRes = ''؛

ور sTest = 'picture.jpg'؛

اگر (eRegExp.test (sTest)) {

cRegRes + = '- بله'؛

} دیگری {

cRegRes + = '- بدون'؛

}

نتایج:

/[az]*.(png|jpg|gif)/ بیان برای خط "picture.jpg" - بله

بیان /^[ad][az]*.(png|jpg|gif)/ برای "picture.jpg" خط - بدون

/^[ad][az]*.(png|jpg|gif)/ بیان برای خط "apicture.jpg" - بله

بیان /^[ad][az]*.(png|jpg|gif)/ برای "apicture.jg" خط - بدون

لازم به ذکر است که همه، پس از یک ستاره ممکن است صفر زمان حاضر. این به این معنی که "فصل به طور منظم" ممکن است در راه های غیر منتظره حداقل کار است.

بررسی استقبال میکنم - تست ایمیل

در بیان جاوا اسکریپت به طور منظم به دست آمده از دو روش، آزمون و exec، و می تواند در خطوط اشیاء (رشته) در روش های خود را (توابع) استفاده می شود: جستجو، تقسیم، جایگزین و بازی.

روش آزمون در حال حاضر نشان داده شده است، آن اجازه می دهد تا به شما برای بررسی صحت عبارت منظم. روش نتیجه: درست / غلط.

جاوا اسکریپت در بر داشت زیر عبارات منظم در نظر بگیرید. چک کردن ایمیل از تعداد "دشوار است، اما قطعا":

ور eRegExp = /^(([^<>()\[\]\\.،؛:\s@"]+(\.[^<>()\[\]\\.،؛:\s @ "] +) *) | (". + ")) @ ((\ [[0-9] {1،3} \ [0-9] {1،3} \ [0-9] {.. . 1،3} \ [0-9] {1،3}]) | (([A-ZA-Z \ -0-9] + \) + [A-ZA-Z] {2}) ) $ /.

ور رشته sTest ='SlavaChip@sci.by 'می دهد درست است، پس این رشته وجود دارد درست آدرس ایمیل. ممیزی های eRegExp.test (sTest) انجام شد.

استفاده عملی: درمان آدرس ایمیل

روش EXEC آرایه خروجی فراهم می کند، پاسخ:

ور aResult = eRegExp.exec (sTest)؛

،
از: cRegRes = + aResult.length + '
از'؛
برای (VAR من = 0؛ من cRegRes + = aResult [من] + '
از'؛
}

این نتیجه زیر را می دهد:

9
Slava.Chip@sci.by
Slava.Chip
Slava.Chip
.Chip
تعریف نشده
sci.by
تعریف نشده
sci.by
علمی.

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

محبوب "فصل به طور منظم"

جاوا اسکریپت عبارت منظم داده شده به ایمیل نه تنها بسیاری از گزینه های آسان تر وجود دارد. به عنوان مثال، /^[\w-\.]+@[\w-]+\.[az]{2،3}$/i. با این حال، این تجسم را به حساب همه تجسم از رکورد آدرس ایمیل.

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

این مهم است که به حساب معمول "ابعاد انسانی." پس از رسمی جاوا اسکریپت عبارت منظم برای گوشی، که ممکن است بازدید کننده (نفر)، آن است که به روش های مختلف آورده شده است: 123-45-67، (29) 1234567، 80291234567 و یا 375291234567. و این همه به همان تعداد است. املا الگوهای متعدد است که همیشه قابل قبول، و تثبیت سفت و سخت از قوانین برای نوشتن اعداد ممکن است ناراحتی های غیر ضروری و یا محدودیت ایجاد کنید. انتخاب / ^ \ D [\ D \ (\) \ -] {4،14} \ D $ / من مناسب برای اغلب موارد شما شماره تلفن خود را بررسی کنید.

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

بیان / ^ \ D + $ / من تنها اعداد بررسی و بیان /^\d+\.\d+$/i اجازه می دهد تا با استفاده از یک نقطه به نقطه نشان می دهد بخش کسری از تعداد.

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

بررسی تاریخ - ساده به پیچیده

یکی دیگر از جاوا اسکریپت عبارات منظم در نظر بگیرید. نمونه هایی تا به امروز، به عنوان برای تعدادی از شماره تلفن های نمایندگی انتخاب بین استحکام و انعطاف پذیری. تاریخ رویداد - یکی از داده های ضروری، که اغلب به تجویز شود. اما تثبیت ورودی در یک فرمت خاص: "DD-MM-YYYY" یا "d.m.gg اغلب به نارضایتی مشتری منجر می شود. گذار از فیلد ورودی از روز به ماه، پر از کلاسیک HTML فرم، هم صورت نمی گیرد زمانی که شما وارد تنها یک رقم، و ورودی دوم می تواند مشکل باشد. به عنوان مثال، در زمینه از روز 3 معرفی شد و عدد بعدی 2 جایگزین اولین نیست، و به او 32، که، البته، خواهد ناراحتی باعث نسبت داد.

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

جستجو و جایگزینی، حافظه عبارت منظم

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

ور cRegExp = / ([a تا z] +) \ S ([a تا z] +) \ S ([a تا z] +) / من؛ // در هنگام جستجو سه متغیر هستند

ور sTest = 'این مقاله خوب است!'؛
ور cRegRes = sTest.replace (cRegExp، "$ 2، $ 3، $ 1")؛

ور dTestLine = کد document.getElementById ( 'scTestLine')؛

dTestLine.innerHTML = "بیان" + cRegExp + 'برای رشته "' + sTest + '" به نوبه خود:' + cRegRes؛

نتیجه:

بیان / ([AZ] +) \ S ([AZ] +) \ S ([AZ] +) / من برای خط "این مقاله خوب است"! از: مقاله خوب است، این!

تعداد جفت براکت ($ 1، $ 2، ...) - در هنگام انجام هر جفت پرانتز نتیجه را در متغیر '$ N، که در آن n ذخیره می کند. بر خلاف مرسوم، در اینجا شماره متغیر 1، 0 است.

توصیه های عمومی

عبارت منظم ساده کد، اما زمان به توسعه آن اغلب باعث تفاوت. شما می توانید با طرح های ساده و ساخته شده و سپس به ترکیب به عبارت پیچیده تر شروع می شود. شما می توانید خدمات مختلف آنلاین برای تست عبارات منظم و یا ابزار خاص محلی استفاده کنید.

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

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

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

جاوا اسکریپت، String و استقبال میکنم

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

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

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

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fa.delachieve.com. Theme powered by WordPress.