نمایش نتایج 1 تا 8 از 8

نام تاپیک: یک regex برای استخراج کلمات با طول مشخص از داخل متن

  1. #1
    کاربر دائمی آواتار sara_aryanfar
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    جایی در ایران
    پست
    1,507

    یک regex برای استخراج کلمات با طول مشخص از داخل متن

    با سلام نیاز به یک regex دارم که کلماتی که طول اونا بین 4 هست رو برام دربیاره اول و آخر کلمه هم اسپیس خورده باشه مثلا " هوایی " همانطور که می بینید در هردوطرف کلمه اسپیس هست و تعداد کاراکترش 4 هست راستی کارکتر های کلمه نباید اسپیس باشن ممنون میشم از دوستانی که با regex گار کردن راهنمایی کنن

  2. #2
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: یک regex برای استخراج کلمات با طول مشخص از داخل متن

    هوایی پنج حرفه!:دی
    شما باید از یک نگاه مثبت به عقب برای اسپیس قبل از کلمه و یه نگاه مثبت به جلو برای اسپیس بعد از کلمه استفاده کنید و مابین این ها هم از کارکتر های مورد نظر (در اینجا alphanumeric-[0-9])به تعداد نیاز استفاده کنید:
    (?<=\s+)[\w-[0-9_]]{1,4}(?=\s+)
    آخرین ویرایش به وسیله Saman_12 : چهارشنبه 28 تیر 1391 در 00:01 صبح دلیل: +راهنمایی

  3. #3
    کاربر دائمی آواتار sara_aryanfar
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    جایی در ایران
    پست
    1,507

    نقل قول: یک regex برای استخراج کلمات با طول مشخص از داخل متن

    کلمات چهار حرفی رو بر نمی گردونه چرا؟ به صورت زیر برا تست استفاده کردم
     private void button1_Click(object sender, EventArgs e)
    {

    string[] s;
    s = textBox1.Text.Split(' ');

    foreach (string str in s)
    {
    Regex linkFinder = new Regex(@"(?<=\s+)[\w-[0-9]]{1,4}(?=\s+)", RegexOptions.IgnoreCase);


    foreach (Match match in linkFinder.Matches(str))
    {

    //Do things...
    string url = match.Value;

    textBox2.Text += url + "\r\n";

    }



    }
    MessageBox.Show("ok");
    }

  4. #4
    کاربر دائمی آواتار aradrobo
    تاریخ عضویت
    تیر 1391
    محل زندگی
    ایران سرای من است
    پست
    569

    نقل قول: یک regex برای استخراج کلمات با طول مشخص از داخل متن

    سلام . می توانم بپرسم دارین چه اسپمری می سازید که نیاز به پیدا کردن لینک هستید ؟ شاید بتونم بهتر به شما کمک نمایم .

  5. #5
    کاربر دائمی آواتار sara_aryanfar
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    جایی در ایران
    پست
    1,507

    نقل قول: یک regex برای استخراج کلمات با طول مشخص از داخل متن

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

  6. #6

    نقل قول: یک regex برای استخراج کلمات با طول مشخص از داخل متن

    سلام.
    می تونید بدین شکل عمل کنید:

    string input = "this as test ano ther test, give im a try! well";
    string pattern = @"(?<=\x20)[\w]{4}(?=\x20)";
    List<string> words = Regex.Matches(input, pattern).Cast<Match>().Select(m => m.Value).ToList();


    دقت کنید که اینجا، کلمات زیر برنمیگرده:

    this
    test,
    well

    چون اولی سمت چپش space نیست،
    دومی کاما رو جزء text در نظر گرفته، درنتیجه 5 حرفه
    و سومی هم سمت راستش space نیست.

    که به نظر میرسه همون چیزی باشه که شما دنبالشید...

    موفق باشید.

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: یک regex برای استخراج کلمات با طول مشخص از داخل متن

    s = textBox1.Text.Split(' ');

    در این قسمت شما میاید و کلمات رو بر اساس اسپیس با تابع اسپلیت جدا میکنید پس دیگه اسپیسی وجود نداره که عبارت بخواد اونو تشخیص بده :

    Regex finder;
    string value;
    Int32 i;

    finder=new Regex(@"(?<=[\s-[\n]]+)[\w-[0-9]]{4}(?=[\s-[\n]]+)", RegexOptions.IgnoreCase);
    value = " abcd زمین efghj a4bc اساسی 1234 راوی ndfh";
    i=0;

    foreach (Match matchvalue in finder.Matches(value))
    {
    Console.WriteLine(i.ToString() + " : {0}",matchvalue);
    i++;
    }
    آخرین ویرایش به وسیله Saman_12 : چهارشنبه 28 تیر 1391 در 12:14 عصر

  8. #8
    کاربر دائمی آواتار sara_aryanfar
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    جایی در ایران
    پست
    1,507

    نقل قول: یک regex برای استخراج کلمات با طول مشخص از داخل متن

    ممنون از عزیزان آیا برای نوشتن عبارات با قاعده ابزار فارسی هم هست یا فقط همون نرم افزار انگلیسیه ؟

تاپیک های مشابه

  1. چطور میتوان اعدای را با طول مشخص در textbox جستجو کرد
    نوشته شده توسط shahramm در بخش برنامه نویسی در 6 VB
    پاسخ: 12
    آخرین پست: سه شنبه 14 اسفند 1386, 13:24 عصر
  2. مجوز برای ورود به یک کامپیوتر مشخص
    نوشته شده توسط majid325 در بخش شبکه و Networking‌
    پاسخ: 2
    آخرین پست: سه شنبه 31 مرداد 1385, 10:39 صبح
  3. استخراج محتوای یک رکورد مشخص در فرمول
    نوشته شده توسط rezaei manesh در بخش گزارش سازی با Crystal Report
    پاسخ: 1
    آخرین پست: شنبه 25 تیر 1384, 20:10 عصر
  4. کمک برای برش فرم در طول اجرا
    نوشته شده توسط robochoo در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: دوشنبه 16 آذر 1383, 02:20 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •