2006/Feb/02

วันนี้เพิ่งหัดรู้จัก Regular Expressions เลยจดซะหน่อย กันลืม

() = กลุ่มคำ
\ = Match กับ Escape special charactor
^ = ปฎิเสธตัวอักษร
\d = Match กับ Digit
\s = Match กับ Whitespace
\w = Match กับ Word
\D = Neg Match กับ Digit
\S = Neg Match กับ Whitespace
\W = Neg Match กับ Word
[] = Match กับทุกตัวที่อยู่ภายใน
\n = LF
\r = CR
\t = Tab
\r\n = CRLF = Break Line
\xFF (F = Hex Char) = Special Charactor
- = Range
. = Match any single char

.........................................................................................

^ = Match กับตัวแรกของ String และตัวแรกของ Break Line
$ = Match กับ String ตัวสุดท้าย
\A = Match กับตัวอักษรตัวแรกของ String (รวม \n)
\Z = Match กับตัวสุดท้ายทุกตัวของ String (รวม \n)
\z = ????
.\b = Match กับตัวสุดท้ายของคำ (รวม White space)
\b. = Match ทุกตัวยกเว้น White space
\B = Match ระหว่างคำ
| = หรือ Ex abc(def|efg) = abcdef, abcefg

.........................................................................................

? = Match กับตัวอักษรที่อยู่หน้า String Ex Li? - Lin, Li
?? = Ex Li?? = Li เท่านั้น
* = Repeat
*? = Repeat เหมือนกับตัวอักษรหน้า String
+ = Repeat (ต่างกับ * ยังไง?)
+? = (ต่างกับ *? ยังไง?)
x{n} (n >= 1) = วนจนกว่า n ครั้ง Ex a{3} = aaa
x{m,n} (n > m) = วนแบบมีขอบเขต Ex a{2,3} = aa, aaa
x{m,n}? (n > m) = วนแบบมีขอบเขตแต่ย้อนกลับ Ex a{2,3} = aaa, aa
x{n,} = วนแบบไร้ขอบเขต Ex a{2,} = วน a ยาวตั้งแต่ 2 ตัวขึ้นไป
x{n,}? = วนแบบไร้ขอบเขตแต่ย้อนกลับ Ex a{2} = วน a ยาวทั้งหมด จนยาวเหลือ aa


Ref : http://www.regular-expressions.info/reference.html


ปล. ตัวแดง ยังหาคำตอบไม่ได้อ่ะ T_____T

Comment

Comment:

Tweet


+ แตกต่างกับ * ที่
+ จะต้องมีอย่างน้อยหนึ่งตัว
แต่ * ไม่ต้องมีก็ match ได้ครับ

* equivalent to {0,}
+ equivalent to {1,}
? equivalent to {0,1}
#1 by hunt At 2006-02-02 02:47,