View Full Version : درخواست Regex
  
Hadi-Hashemi
جمعه 09 آبان 1393, 13:41 عصر
سلام دوستان
درخواست Regex برای عبارت زیر:
int x1,x2,x3;
قبل و بعد از ',' میشه فاصله هم باشه.
بجای x1 و x2 و x3 میشه هر کلمه ای باشه.
مثلا:
int ali, x2, hadi;
pedram.11
جمعه 09 آبان 1393, 14:33 عصر
سلام:
int (.+),(.+),(.+);
Hadi-Hashemi
جمعه 09 آبان 1393, 14:55 عصر
سلام:
int (.+),(.+),(.+);
مرسی.
ولی باز یه مشکلی دارم اینکه x1 ها فقط باید از حروف و عدد باشن. مثلا این رو نباید قبول کنه:
int x1,ws66+ref,x3;
و یک سوال دیگه:
اگه تعداد x ها متغییر باشه چی؟
مثلا الان 3تا رو نوشتین شما و من 4 تا و یا 2 تا x داشته باشم قبول نمیکنه. میشه کاریش کرد؟؟
pedram.11
جمعه 09 آبان 1393, 15:01 عصر
برای حروف و عدد و تعداد نامحدود:
int ([a-zA-Z0-9],?\s?)+;
اسماعیل ابراهیمی
جمعه 09 آبان 1393, 15:49 عصر
اینم یه مدل دیگه :
using System;
using System.Text.RegularExpressions;
namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            Regex rg = new Regex(@"int [a-z A-Z _]+[\w]*,[a-z A-Z _]+[\w]*,[a-z A-Z _]+[\w]*;");
            string inputString=Console.ReadLine();
            if (rg.IsMatch(inputString))
            {
                Console.WriteLine("String is OK ...");
            }
            else
            {
                Console.WriteLine("String is Wrong !");
            }
            Console.ReadLine();
        }
    }
}
Hadi-Hashemi
جمعه 09 آبان 1393, 21:06 عصر
اینم یه مدل دیگه :
using System;
using System.Text.RegularExpressions;
namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            Regex rg = new Regex(@"int [a-z A-Z _]+[\w]*,[a-z A-Z _]+[\w]*,[a-z A-Z _]+[\w]*;");
            string inputString=Console.ReadLine();
            if (rg.IsMatch(inputString))
            {
                Console.WriteLine("String is OK ...");
            }
            else
            {
                Console.WriteLine("String is Wrong !");
            }
            Console.ReadLine();
        }
    }
}
جناب آقای ابراهیمی مرسی از جوابتون.
فقط تو این مورد اشتباه جواب میداد که با کمی تغییر درستش کردم
int a li   , x2, hadi;"
یا این مورد:
int  ali;
نتیجه نهایی:
"int ( *[a-zA-Z_][A-Za-z0-9_]* *)+(, *[a-zA-Z_][A-Za-z0-9_]* *)*( *;)$";
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.