2012-09-24 22 views
5

Tôi luôn nhầm lẫn với định dạng Regex cách chúng hoạt động và cách tạo Regex theo yêu cầu của tôi. Tôi chỉ cần sao chép một số định dạng Regex phổ biến và dán trong dự án của tôi nhưng rõ ràng là chúng tôi không thể tìm thấy mọi định dạng Regex theo yêu cầu của chúng tôi. Vì vậy, tôi muốn tìm hiểu về Regex.Cách tạo Regex trong Objective-C

tôi làm cho nó chỉ từ tôi đoán sau khi mã chạy một lần nữa và một lần nữa nhưng tôi vẫn không biết quá nhiều về vấn đề này Regex

NSString *regexNumber = @"[123456789][0-9]{0}([0-9]{1})?"; 

này so sánh Age, theo độ tuổi này nên được bắt đầu từ 1-9, tối thiểu 1 chữ số, tối đa 2 chữ số và chỉ số.

Bây giờ tôi muốn làm Regex cho Tên - (exp - vakul, Vakul, Saini vakul, Vakul Saini, vakul Saini, Vakul Saini vv), Email, Số điện thoại, Chuỗi Chỉ , Sinh nhật, URL. Nhưng không muốn sao chép và dán tôi muốn tìm hiểu cách họ làm việc và cách tạo Regex của riêng tôi.

+6

http://www.regular-expressions.info/ –

Trả lời

7

Một biểu thức chính quy là một mô hình văn bản bao gồm một sự kết hợp của các ký tự chữ và ký tự đặc biệt được gọi là metacharacters

Các metacharacters là :

\ | () [ {^$ * + ? . < > 

. ---- Thay vào đó là một siêu ký tự đặc biệt khớp với bất kỳ ký tự nào.

* ---- Ký tự * khớp với số không hoặc nhiều lần xuất hiện của ký tự trong một hàng.

+ ---- Ký tự + tương tự như * nhưng khớp với một hoặc nhiều.

? ---- Zero hoặc một thể hiện của nhân vật

{m,n} ---- nghĩa là trận đấu m hoặc lên đến n ký tự. ví dụ {1,5} phù hợp với 1 hoặc tối đa 5 ký tự

^ ---- nó sẽ phù hợp với bất kỳ dòng bắt đầu với từ sau nó

$ --- nó sẽ phù hợp với bất kỳ dòng kết thúc với từ sau nó

<> --- khớp các từ giữa chúng. Ví dụ. trả về tất cả các từ có chứa abc

Bạn có thể hình thành các nhóm, hoặc subexpressions như họ thường gọi, bằng công bắt đầu và kết thúc ngoặc ký tự: () The (bắt đầu subexpression và) kết thúc nó

| - - Hoặc Thông số

[ and ] --- Chuỗi ký tự.Bất kỳ ký tự nào được đặt bên trong các dấu ngoặc đơn đều được coi là ký tự chữ, thậm chí là các siêu ký tự. Các ký tự đặc biệt duy nhất là - biểu thị các phạm vi ký tự và^ký tự được sử dụng để loại bỏ một chuỗi. ví dụ. [a-z]

Đây là kiến ​​thức cơ bản nhất bạn cần cho cụm từ thông dụng và chúng giống nhau cho hầu hết các ngôn ngữ.

Để biết thêm chi tiết bạn có thể tham khảo this link

+0

iOS đang sử dụng phiên bản sửa đổi của ICU 4.2.1 lib. Tài liệu API được đặt tại http://icu-project.org/apiref/icu4c/index.html – ZhangChn

+0

Tôi đã đề cập đến 'Đây là kiến ​​thức cơ bản nhất mà bạn cần cho cụm từ thông dụng và chúng giống nhau cho hầu hết các ngôn ngữ.' Và chúng cũng hoạt động trong ios, hầu như tất cả – DivineDesert

+0

@CrazyCreator - Giải thích tuyệt vời! Cảm ơn :) – TheTiger

0

bạn nên sử dụng Regexkit Framework, tôi thấy đó là một giải pháp tốt nhất cho regex trong iOS

+0

Cảm ơn @iYaniv - nó sẽ dạy tôi làm thế nào để làm cho Regex ??? Tôi không muốn sao chép những người khác Regex bởi vì không ai có thể cho tôi mọi định dạng Regex những gì tôi cần. Vì vậy, tôi muốn học cách tự tạo cho mình .... – TheTiger

+0

truy cập http://www.regular-expressions.info – Janub

+1

@Daniel Hilgarth đã đưa ra liên kết đó xem nhận xét đầu tiên về câu hỏi này ..... Nó tốt liên kết để tìm hiểu .. – TheTiger

Các vấn đề liên quan