วิธีการใช้นิพจน์ทั่วไปใน Microsoft Visual Basic 6.0

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 818802 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

บทความที่มีการทีละขั้นตอนนี้อธิบายวิธีการสร้างนิพจน์ทั่วไปและวิธีใช้นิพจน์ทั่วไปเพื่อตรวจสอบว่า สตริงการตรงกับรูปแบบที่ระบุ นิพจน์ทั่วไปให้มีการแยกวิเคราะห์ และการจับคู่สายอักขระการรูปแบบเฉพาะอย่างง่าย ถ้าคุณใช้วัตถุที่มีอยู่ในไลบรารี Microsoft VBScript 5.5 นิพจน์ทั่วไป คุณสามารถเปรียบเทียบสตริงที่กับรูปแบบที่ระบุ แทนรูปแบบสายอักขระ ด้วยสายอักขระที่อื่น หรือเรียกเฉพาะส่วนของสายอักขระที่มีการจัดรูปแบบ บทความนี้อธิบายวิธีการสร้างรูปแบบการแยกวิเคราะห์สตริงที่ประกอบด้วยอินสแตนซ์หลายอินสแตนซ์ของรูปแบบเดียวกัน



ความต้องการ


รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่คุณต้องการ:
  • Microsoft Visual Basic 6.0
บทความนี้อนุมานว่า คุณไม่คุ้นเคยกับหัวข้อต่อไปนี้:
  • visual Basic 6.0
  • ไวยากรณ์นิพจน์ทั่วไป


การใช้นิพจน์ทั่วไปจะตรงกับรูปแบบเป็น



ใน Visual Basic 6.0,RegExpวัตถุที่ใช้นิพจน์ทั่วไปให้ตรงกับรูปแบบ โดยคุณสมบัติต่อไปนี้RegExp. คุณสมบัติเหล่านี้กำหนดรูปแบบการเปรียบเทียบสายอักขระที่ส่งผ่านไปยังRegExpอินสแตนซ์:
  • รูปแบบ: แบบสายอักขระที่กำหนดที่นิพจน์ทั่วไป
  • IgnoreCase: แบบบูลีนคุณสมบัติที่บ่งชี้ว่า คุณต้องทดสอบนิพจน์ทั่วไปจากรายการที่เป็นไปได้ทั้งหมดในสตริงที่
  • ทั่วโลก: ตั้งค่าแบบบูลีน หรือส่งกลับค่าบูลีนที่บ่งชี้ว่า รูปแบบต้องตรงกับการเกิดทั้งหมดในสตริงที่ค้นหาทั้งหมด หรือไม่ว่ารูปแบบต้องตรงกับการนัดหมายที่แรกเท่านั้น
RegExpแสดงวิธีการต่อไปนี้เพื่อตรวจสอบว่า สายอักขระตรงกับรูปแบบเฉพาะของนิพจน์ทั่วไปที่:
  • Test: ส่งกลับค่าบูลีนที่บ่งชี้ว่า นิพจน์ทั่วไปสามารถสำเร็จจะตรงกับสตริ
  • ดำเนินการ: ส่งกลับค่าในMatchCollectionวัตถุที่ประกอบด้วยการตรงกันวัตถุสำหรับแต่ละคู่ที่ตรงกันเสร็จเรียบร้อยแล้ว
เมื่อต้องการจับคู่สายไปยังนิพจน์ทั่วไป ดำเนินการดังต่อไปนี้:
  1. นิพจน์ทั่วไปที่การตั้งค่า โดยใช้การรูปแบบวิธีการนี้RegExpวัตถุ
  2. รับสายอักขระการตรวจสอบกับรูปแบบ
  3. ตั้งค่านี้IgnoreCaseคุณสมบัตินี้RegExpวัตถุTrue.
  4. ส่งต่อสายอักขระที่คุณได้รับในขั้นตอนที่ 2 เป็นอาร์กิวเมนต์ไปดำเนินการวิธีการนี้RegExpวัตถุ
  5. กำหนดค่าสินค้าส่งคืนนี้ดำเนินการวิธีการนี้MatchCollectionวัตถุ

    กระบวนการMatchCollectionวัตถุประกอบด้วยรายละเอียดเกี่ยวกับสตริงการตรง

หมายเหตุ:คุณยังสามารถใช้การTestวิธีการตรวจสอบว่า สายอักขระตรงกับนิพจน์ทั่วไปที่เฉพาะเจาะจง

ตัวอย่าง step-by-Step

  1. เริ่ม Microsoft Visual Basic 6.0
  2. ในการแฟ้ม:เมนู คลิกโครงการใหม่.
  3. คลิกExe มาตรฐานในการโครงการใหม่กล่องโต้ตอบ แล้วคลิกตกลง.

    โดยค่าเริ่มต้นแล้ว Form1 จะถูกสร้างขึ้น
  4. ในการProjectเมนู คลิกอ้างอิง:.
  5. คลิกสองครั้งนิพจน์ปกติ VBScript Microsoft 5.5แล้ว คลิกตกลง.
  6. ในกล่องเครื่องมือ คลิกสองครั้งCommandButton.

    โดยค่าเริ่มต้นCommand1ถูกเพิ่มให้กับฟอร์ม
  7. คลิกสองครั้งCommand1เมื่อต้องการเปิดรหัสหน้าต่าง
  8. วางรหัสต่อไปนี้ในการCommand1_Clickตัวจัดการเหตุการณ์:
    MsgBox(TestRegExp("is.", "IS1 is2 IS3 is4"))
    หมายเหตุ:ในตัวอย่างนี้ไม่รูปแบบที่มีการตรวจสอบกับสตริงที่ "IS1 is2 IS3 is4" คุณสามารถใช้(รอบระยะเวลาของอักขระพิเศษ.) เพื่อที่ทำหน้าที่เป็นอักขระตัวแทน เพื่อให้ตรงกัน และแสดงผล ด้วยรูปแบบการค้นหาอักขระตัวเดียวที่เพิ่มเติม ถ้าคุณสามารถเพิ่มรอบระยะเวลาที่สองรูปแบบการค้นหา คุณเห็นอักขระที่เพิ่มเติมสองตัว ถ้าคุณไม่ได้ใช้รอบระยะเวลาการทำงานใด ๆ คุณดูเฉพาะรูปแบบการค้นหา
  9. เพิ่มฟังก์ชันต่อไปนี้หลังจากCommand1_clickตัวจัดการเหตุการณ์:
    Function TestRegExp(myPattern As String, myString As String)
       'Create objects.
       Dim objRegExp As RegExp
       Dim objMatch As Match
       Dim colMatches   As MatchCollection
       Dim RetStr As String
       
       ' Create a regular expression object.
       Set objRegExp = New RegExp
    
       'Set the pattern by using the Pattern property.
       objRegExp.Pattern = myPattern
    
       ' Set Case Insensitivity.
       objRegExp.IgnoreCase = True
    
       'Set global applicability.
       objRegExp.Global = True
    
       'Test whether the String can be compared.
       If (objRegExp.Test(myString) = True) Then
    
       'Get the matches.
        Set colMatches = objRegExp.Execute(myString)   ' Execute search.
    
        For Each objMatch In colMatches   ' Iterate Matches collection.
          RetStr = RetStr & "Match found at position "
          RetStr = RetStr & objMatch.FirstIndex & ". Match Value is '"
          RetStr = RetStr & objMatch.Value & "'." & vbCrLf
        Next
       Else
        RetStr = "String Matching Failed"
       End If
       TestRegExp = RetStr
    End Function
  10. ในการเรียกใช้เมนู คลิกเริ่มการทำงานเมื่อต้องการเรียกใช้โปรแกรมประยุกต์
  11. คลิกCommand1.

    กล่องข้อความจะปรากฏที่พบทั้งหมดของการคืนค่าคือในการIS1 is2 IS3 is4string

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติม โปรดไปที่ MSDN เว็บไซต์ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/6wzad2b2.aspx

คุณสมบัติ

หมายเลขบทความ (Article ID): 818802 - รีวิวครั้งสุดท้าย: 18 ตุลาคม 2553 - Revision: 1.0
ใช้กับ
  • Microsoft Visual Basic 6.0 Professional Edition
Keywords: 
kbprogramming kbstring kbhowtomaster kbmt KB818802 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:818802

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com