ตัวอย่างการใช้ Regular Expressions ใน REGEXP_REPLACE ของ Oracle  สร้างคำถาม

 5,665 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 18/01/2017

ตัวอย่างการใช้ Regular Expressions ใน REGEXP_REPLACE ของ Oracle

Regular Expressions เป็น standard ในการเช็คเงื่อนไขโดยการกำหนด pattern แทน
การเช็คเงื่อนไขแบบเดิมๆ เช่นคำสั่ง IF THEN ELSE ต่างๆ
ก่อนอื่นแนะนำการใช้ Regular Expressions เบื้องต้นก่อนนะครับ เช่น
** underscore(_) ไม่นับเป็น อักขระพิเศษ
. ทุกตัวอักษร+อักขระพิเศษ (ยกเว้นการขึ้นบรรทัดใหม่)
ทดสอบด้วย PL REGEXP_REPLACE
SELECT REGEXP_REPLACE ('XXTE_ST1X23_|', '.', 'Y') FROM dual;
ผลที่ได้คือ : YYYYYYYYYYYYY

\w ทุกตัวอักษร ยกเว้นอักขระพิเศษ
ทดสอบด้วย PL REGEXP_REPLACE
SELECT REGEXP_REPLACE ('XXTE_ST1X23_|', '\w', 'Y') FROM dual;
ผลที่ได้คือ : YYYYYYYYYYYY|

\W เฉพาะอักขระพิเศษ
ทดสอบด้วย PL REGEXP_REPLACE
SELECT REGEXP_REPLACE ('XXTE_ST1X23_|', '\W', 'Y') FROM dual;
ผลที่ได้คือ : XXTE_ST1X23_Y

\d ตัวเลขทุกตัว
ทดสอบด้วย PL REGEXP_REPLACE
SELECT REGEXP_REPLACE ('XTE_ST1X23_|', '\d', 'Y') FROM dual;
ผลที่ได้คือ : XTE_STYXYY_|

\D ที่ไม่ใช่ตัวเลข
ทดสอบด้วย PL REGEXP_REPLACE
SELECT REGEXP_REPLACE ('XTE_ST1X23_|', '\D', 'Y') FROM dual;
ผลที่ได้คือ : YYYYYY1Y23YY

\s whitespace(tab, space, line break)
ทดสอบด้วย PL REGEXP_REPLACE
SELECT REGEXP_REPLACE ('XT E_ST1X2 3_|', '\s', 'Y') FROM dual;
ผลที่ได้คือ : XTYYE_ST1X2Y3_|

\S ทุกตัวอักษร +อักขระพิเศษ ยกเว้น whitespace
ทดสอบด้วย PL REGEXP_REPLACE
SELECT REGEXP_REPLACE ('XT E_ST1X2 3_|', '\S', 'Y') FROM dual;
ผลที่ได้คือ : YY YYYYYYY YYY

[abc]เฉพาะตัวอักษรที่กำหนด อักขระพิเศษ ก็ได้นะ case sensitive
ทดสอบด้วย PL REGEXP_REPLACE
SELECT REGEXP_REPLACE ('XT E_ST1X2 3_|', '[eST|]', 'Y') FROM dual;
ผลที่ได้คือ : XY E_YY1X2 3_Y

[^abc] ทุกตัวที่ไม่ใช่ที่กำหนด
ทดสอบด้วย PL REGEXP_REPLACE
SELECT REGEXP_REPLACE ('XT E_ST1X2 3_|', '[^eST|]', 'Y') FROM dual;
ผลที่ได้คือ : YTYYYYSTYYYYYY|

[a-f] ทุกตัวที่อยู่ระหว่าง a ถึง f
ทดสอบด้วย PL REGEXP_REPLACE
SELECT REGEXP_REPLACE ('XT E_ST1X2 3_|', '[S-X]', 'Y') FROM dual;
ผลที่ได้คือ : YY EYYY1Y2 3YY

^ เริ่มต้น line
$ สิ้นสุด line
\A เริ่มต้นคำ
\z สิ้นสุดคำ
(…) capture group
\1 reference group #1
(a b)
a* ไม่มี a หรือมีก็ได้
a+ a อย่างน้อย 1 ตัว
a? ไม่มี a หรือมี a ได้แค่ 1ตัว
a{5} มี a 5 ตัว
a{2,5} มี a ได้ 2 ถึง 5 ตัว


ถ้าชอบบทความนี้ กด Like เลย :ตัวอย่างการใช้ Regular Expressions ใน REGEXP_REPLACE ของ Oracle
TAGS : PLSQL   Programming   Regular Expressions  
 5,665 view  หมวดหมู่ : สำหรับโปรแกรมเมอร์  วันที่สร้าง : 18/01/2017



SOA,Java,XSLT

 ร่วมแสดงความคิดเห็นได้ที่นี่




× แจ้งเตือน! เราสนับสนุนทุกความคิดเห็น ที่ ใช้ถ้อยคำสุภาพ ไม่ละเมิดผู้อื่น ไม่ก่อให้เกิดความขัดแย้ง

เนื้อหาที่เกี่ยวช้อง

  ลืมรหัส ที่ตั้งพาสโคตลอค ทำไงดีคะ กดหลายครั้งละผิดตลอด ล่าสุดขุ้นว่าอีกชั่วโมงค่อยกดใหม่ เรยมะกล้าละ กัวลอค ถามเมื่อ (2013-06-26)   2,563 views  (ดูล่าสุดเมื่อ 4 นาที)

  ตัวอย่าง Template Jquery UI สำเร็จรูป โหลดฟรี ถามเมื่อ (2015-08-23)   3,093 views  (ดูล่าสุดเมื่อ 4 นาที)

  Javascript debugger ie8 ใส่ breakpoints ไม่ได้ ถามเมื่อ (2015-09-15)   2,620 views  (ดูล่าสุดเมื่อ 11 นาที)

  PLSQL sub sttring คั่นด้วย | ใช้ REGEXP_SUBSTR ตอบโจทย์ ถามเมื่อ (2017-11-06)   1,226 views  (ดูล่าสุดเมื่อ 14 นาที)

  my sql date format คำสั่งในการ query เดือน วัน ปี ถามเมื่อ (2012-10-08)   2,758 views  (ดูล่าสุดเมื่อ 25 นาที)

  Jquery ตัวอย่าง การจับตำแหน่ง scrollTop เพื่อ Load Data เพิ่มเมื่อเลื่อนจนถึงล่างสุด ถามเมื่อ (2019-05-29)   2,348 views  (ดูล่าสุดเมื่อ 47 นาที)

  Oracle คำนวณ อายุ จากวันเกิด ถามเมื่อ (2016-06-05)   3,081 views  (ดูล่าสุดเมื่อ 52 นาที)

  Spring framework วิธีดึง Config จาก PropertyPlaceholderConfigurer ถามเมื่อ (2018-12-21)   1,231 views  (ดูล่าสุดเมื่อ 54 นาที)

  คำสั่ง Unix VI เบื้องต้น รู้คร่าวๆ พอให้แก้ปัญหาเฉพาะหน้าได้นะ ถามเมื่อ (2018-04-24)   1,854 views  (ดูล่าสุดเมื่อ 56 นาที)

  Web service Apache cxf จัดลำดับ Field ใน Response Object SOAP XML ให้เรียงตามโครงสร้าง Object ถามเมื่อ (2019-02-13)   2,065 views  (ดูล่าสุดเมื่อ 90 นาที)


 

บ้านเดียวกันดอทคอม เว็บถามตอบ รวมทุกเรื่องที่คุณอยากรู้ ให้ความรู้ ความบันเทิง มีสาระ
www.ban1gun.com