سوالات رگولار اکسپرشن

0 امتیاز

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

سلام
من چندتا سوال داشتم.ممکنه لطف کنید و جواب بدهید؟
(۱) Deletes all h’s (uppercase and lowercase) followed by a consonant except ‘y’; I.e.,
John -> Jon
Baht -> Bat
hot -> hot
Hyatt -> Hyatt
(۲) Replace all double consonants with a single consonant.
Sally -> Saly
rabbit -> rabit
(۳) Replace all a’s in a word to “eI” if the last letter of the word is an “e” and delete the last “e”.
Kate -> KeIt
bat -> bat
(۴) Delete all non-alphanumeric characters
dog -> dog
d”o$%gq12 -> dogq12

سوال شده نوامبر 3, 2017 در منطق، ریاضیات و فلسفه توسط neo دانا (4,370 امتیاز)

1 پاسخ

0 امتیاز

این شامل دو مرحله میشه، یکی Find و دومی Replace. اون سوال هایی که میگن delete کنید هم باید اول find صورت بگیره و در مرحله دوم، عبارت پیدا شده با تهی جایگزین بشه.

برای find از قواعد رگولار اکسپرشن کمک می گیریم؛
سوال اول:

/([Hh])[^aieou\s0-9]/g

سوال دوم​:​

image

s\([A-Z a-z])\1\\1\g

سوال سوم: 

/([Aa])([a-zA-Z]+[e])/g

سوال چهارم:

/([^A-Za-z0-9])/g

حالا که find رو انجام دادید، می مونه بخش replace که اون رو با رگولار اکسپرشن و با کمک یک زبان برنامه نویسی مثل VB.NET انجام میدید که ساده است، کافیه از توی جواب ها مثلا \1 رو واسه ی capture group اول و \2 رو واسه گروپ دوم و... الی آخر انتخاب کنید. و سپس با دستور string.replace اون پارامتر رو جایگزین یا حذف کنید.

می تونید پاسخ های خودتون رو با استفاده از ابزار http://www.regexr.com تست کنید.

موفق باشید.

پاسخ داده شده نوامبر 3, 2017 توسط neo دانا (4,370 امتیاز)

سوالات مشابه

+1 امتیاز
1 پاسخ
سوال شده ژوئن 21, 2016 در منطق، ریاضیات و فلسفه توسط ابو خمسی
...