Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: C/C++ có Regular Expression không?

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    21

    Mặc định C/C++ có Regular Expression không?

    Xin chào các bạn. Mình rât muốn biết hết các ability của C/C++, xin hỏi trong C/C++ có lớp/hàm hay đối tượng xử lý chuỗi kiểu regular expression giống như VB hay JS không?
    Có ai đã viết thư viện nào để xử lý chuỗi như vậy chưa?

    Theo tôi biết thì hình như C/C++ không được mạnh lắm về xử lý chuỗi? Có bạn nào giới thiệu giúp mình một thư viện mà các LTV đã viết thêm cho C/C++ để hỗ trợ xử lý chuỗi không? (Có thể là các định nghĩa chồng toán tử "+" để giúp ghép chuỗi dễ dàng hơn, hoặc các hàm như kiểu left(), right(), Instr() như trong VB ấy....)

    -----------
    Ngoài ra , cho mình hỏi chút về "danh sách liên kết động" mà dùng các struct có 1 thành phần là con trỏ tự trỏ (trong sách C dạy như vậy).
    Xin hỏi cái đó có ứng dụng nhiều trong C không ? Mình thấy cách xây dựng và quản lý các danh sách như vậy quá phức tạp và có lẽ muốn phát triển lên cao thì không khả thi.
    Xin các bạn cho ý kiến về vấn đề này.

    Thanks a lot !
    Đã được chỉnh sửa lần cuối bởi gadapchetvoi : 20-12-2008 lúc 09:59 AM.

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    Hà Nội
    Bài viết
    361

    Không có regex, nhưng source regex thiếu gì , kiếm trên mạng rồi đem lắp vào thành 1 hàm trong chương trình rồi lôi ra dùng thôi
    Blog tổng quan kiến thức về viễn thông : http://tongquanvienthong.blogspot.com/

    mSPDict từ điển android hỗ trợ liên kết tra trên các trình đọc sách điện tử và tra sách giấy thông qua camera
    http://www.tinhte.vn/threads/691731/

  3. #3
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    C++ có lớp String phục vụ cho xử lý chuỗi đó bạn, cũng có cắt, nối, trim đầy đủ. Trong C++ xử lý chuỗi rất cực vì bạn phải code rất nhiều nhưng bù lại là nó sẽ chạy nhanh và rất linh động. Lấy ví dụ như bạn muốn đọc/ghi vào phần tử tại vị trí thứ i trong chuỗi bạn phải dùng hàm mid, trong khi C++ bạn chỉ cần truy xuất nó như mảng -> nhanh hơn rất nhiều.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  4. #4
    Ngày gia nhập
    12 2008
    Bài viết
    21

    Bạn nào có link hoặc reference của các hàm xử lý chuỗi trong C/C++ thì cho mình xin nhé ?

    Thế còn về chuỗi liên kết động thì sao các bạn ?

  5. #5
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    Theo mình thì trong C , về string nên tạo 1 thư viện riêng của mình xử lý hơn, mấy hàm của C về chuỗi ko xâu xắc lắm. Vả lại việc định nghĩa lại mấy cái tương tự cũng không khó , chủ yếu là ý tưởng thực hiện thôi.


    ví dụ vài hàm ( có gì sai mong được chỉ bảo )
    PHP Code:
    int strlen(char *xau)
        {
            
    int i=0;
            while (
    xau[i]!=NULLi++;
            return 
    i;
        }
    void xoakitu(int vitri int soluong char *xau)
        {
            if (
    vitri+soluong-1>strlen(xau)) xau[0]=NULL;
            else
            {
               while (
    xau[vitri+soluong]!=NULL)
                  {
                
    xau[vitri]=xau[vitri+soluong];
                
    vitri++;
                  }
               
    xau[vitri]=NULL;
            }
        }
    void chenkitu(int vitrichar *chen char *xau)
        {
            
    int j=0,i=vitri;
            
    char temp[99];
            while (
    xau[i]!=NULLtemp[j++]=xau[i++];
            
    temp[j]=NULL;
            
    j=0;
            while (
    chen[j]!=NULLxau[vitri++]=chen[j++];
            
    j=0;
            while (
    temp[j]!=NULLxau[vitri++]=temp[j++];
            
    xau[vitri]=NULL;
        }
    void indnxau(char *xau,int vitri// in dao nguoc xau tu cuoi den vitri
        
    {
            if (
    vitri<strlen(xau)) indnxau(xau,vitri+1);
            
    printf("%c",xau[vitri]);
            
    delay(50);
        }
    void viet(char *xau,int tre)
        {
            
    int i;
            for ( 
    i=i<strlen(xau) ; ++i)
                { 
    putch(xau[i]);delay(tre);}
        }
    void timkiem(char *xau,char *con,int *result)      // tim kiem su xuat hien cua chuoi con trong chuoi xau
        
    {                                             //  ketqua[0] luu so lan xuat hien. cac  phan khac luu vitri xuat hien
            
    int i,j,k=1,flag;
            
    result[0]=0;
            if (!((
    strlen(con)>strlen(xau))||(strlen(xau)==0)||(strlen(con)==0)))  // ketqua[0]==0 <=> khong co su xuat hien cua con[] trong xau[]
                
    {
                for (
    i=0;i<strlen(xau);i++)
                  {
                    if (
    xau[i]==con[0])
                      {
                        
    flag=1;
                        for (
    j=0;j<strlen(con);j++)
                              if (
    xau[i+j]!=con[j]) flag=0;
                        if (
    flag) {result[k]=i;k++;result[0]++;}
                      }
                  }
                }
        } 
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

  6. #6
    No Avatar
    ngocbig Khách

    Mặc định C/C++ có Regular Expression không?

    Trích dẫn Nguyên bản được gửi bởi gadapchetvoi Xem bài viết
    Xin chào các bạn. Mình rât muốn biết hết các ability của C/C++, xin hỏi trong C/C++ có lớp/hàm hay đối tượng xử lý chuỗi kiểu regular expression giống như VB hay JS không?
    Có ai đã viết thư viện nào để xử lý chuỗi như vậy chưa?

    Theo tôi biết thì hình như C/C++ không được mạnh lắm về xử lý chuỗi? Có bạn nào giới thiệu giúp mình một thư viện mà các LTV đã viết thêm cho C/C++ để hỗ trợ xử lý chuỗi không? (Có thể là các định nghĩa chồng toán tử "+" để giúp ghép chuỗi dễ dàng hơn, hoặc các hàm như kiểu left(), right(), Instr() như trong VB ấy....)

    -----------
    Ngoài ra , cho mình hỏi chút về "danh sách liên kết động" mà dùng các struct có 1 thành phần là con trỏ tự trỏ (trong sách C dạy như vậy).
    Xin hỏi cái đó có ứng dụng nhiều trong C không ? Mình thấy cách xây dựng và quản lý các danh sách như vậy quá phức tạp và có lẽ muốn phát triển lên cao thì không khả thi.
    Xin các bạn cho ý kiến về vấn đề này.

    Thanks a lot !
    Chuẩn C++ sắp tới sẽ có thêm nhiều thư viện trong đó hỗ trợ cả regular expression và cả lambda nữa. Hiện giờ nó mới chỉ nằm trong TR1 (Technical Report 1). Visual C++ 2010 beta hỗ trợ rồi đó. C++ Builder 2009 thì hỗ trợ các tính năng của C++0x rồi. Để sử dụng bạn nó ngay thì bạn google với từ khóa Boost nhé.

    Regards

  7. #7
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Trích dẫn Nguyên bản được gửi bởi gadapchetvoi Xem bài viết
    Bạn nào có link hoặc reference của các hàm xử lý chuỗi trong C/C++ thì cho mình xin nhé ?

    Thế còn về chuỗi liên kết động thì sao các bạn ?
    Những gì mà mình đã viết ra thì không bao giờ thừa

  8. #8
    No Avatar
    ngocbig Khách

    Những gì mà mình đã viết ra thì không bao giờ thừa

  9. #9
    Ngày gia nhập
    12 2008
    Bài viết
    21

    Nhung mà NgocBig ơi, đến năm 2010 thì mình già rùi ^^
    Mình mún hỏi hiện giờ có expert nào viết Regexp dành cho C++ chưa, và nếu có thì hắn có share ko hay giữ để bán ý!

    Hi hi, mình đã đọc những cái "không bao h thừa" của ZCoder87, đang down về xài thử.
    Cảm ơn tất cả các ban đã tư vấn, mặc dù biết xài đồ của người khác thì sẽ sinh lười biếng, nhưng mừ newbie thì cứ phải thế cái đã ^^
    ZCoder87 sinh 87 à, mình cũng 87 mà kém bạn cả Km. )
    Tại lúc đầu mình ăn món mì ăn liền VB nên bi h quay qua ăn cơm C++ nuốt khó trôi ... ^^
    Đã được chỉnh sửa lần cuối bởi gadapchetvoi : 21-12-2008 lúc 03:31 PM.

  10. #10
    No Avatar
    ngocbig Khách

    Tất cả những gì bạn cần ở đây.
    Code:
    http://www.boost.org/
    Và còn hơn thế nữa...

Các đề tài tương tự

  1. Sử dụng Regular Expression trong lập trình C#
    Gửi bởi neverland87 trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 16
    Bài viết cuối: 29-03-2012, 04:38 PM
  2. Hỏi cách kiểm tra tính hợp lệ của biểu thức bằng Regular Expression
    Gửi bởi tvuboyvip trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 21-11-2011, 07:21 PM
  3. lọc dữ liệu sử dụng regular expression
    Gửi bởi kiddevv trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 23-08-2011, 06:56 PM
  4. Regular Expression trên C#?
    Gửi bởi vtatntpt trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 10
    Bài viết cuối: 20-04-2009, 07:16 PM
  5. Lỗi Regular expression lạ quá
    Gửi bởi tienlbhoc trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 12-10-2007, 07:58 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn