นิพจน์ทั่วไปที่ตรงกับวงเล็บเหลี่ยมคืออะไร


95

ฉันต้องการ regex [ที่ตรงกับวงเล็บสี่เหลี่ยม ฉันยังไม่พบ ฉันคิดว่าฉันลองความเป็นไปได้ทั้งหมดแล้ว แต่ยังไม่พบสิ่งที่ถูกต้อง regex ที่ถูกต้องสำหรับสิ่งนี้คืออะไร?

คำตอบ:


111

วิธีการใช้แบ็กสแลช\ด้านหน้าวงเล็บเหลี่ยม โดยปกติวงเล็บเหลี่ยมจะตรงกับคลาสอักขระ


20
ในกรณีที่คุณพยายามเขียน regex นี้ใน C # คุณต้องใช้ \\ หน้าวงเล็บเหลี่ยม
Shrewdroid

4
อันที่จริงฉันไม่รู้ว่ามันทำงานที่ไหนและทำไมคำตอบถึงได้รับอันดับสูงเช่นนี้
Vitali Pom


15

ถ้าคุณต้องการเพื่อให้ตรงกับการแสดงออกที่เริ่มต้นด้วย[และลงท้ายด้วยการใช้]\[[^\]]*\]


11

คุณกำลังหนีมันด้วย\?

/\[/

นี่คือแหล่งข้อมูลที่เป็นประโยชน์ในการเริ่มต้นใช้งานนิพจน์ทั่วไป:

Regular-Expressions.info


6

โดยทั่วไปเมื่อคุณต้องการอักขระที่ "พิเศษ" ใน regexes ให้นำหน้าด้วยเครื่องหมาย\. ดังนั้นตัวอักษรจะเป็น[\[


5

หากคุณกำลังมองที่จะหารูปแบบของทั้งวงเล็บในเวลาเดียวกันคุณสามารถใช้รูปแบบต่อไปซึ่งได้กำหนดช่วงของทั้ง[เข้าสู่ระบบหรือ]เข้าสู่ระบบ:/[\[\]]/


คุณสามารถละเว้นเครื่องหมายแบ็กสแลชแรกได้ [[\]]จะตรงกับวงเล็บใดวงเล็บหนึ่ง ในบางท้องถิ่น regex (เช่น grep) คุณสามารถละเว้นทับขวาก่อนที่]ถ้าคุณวางไว้ทันทีหลังจากที่(เพราะตัวละครคลาสที่ว่างเปล่าจะไม่เป็นประโยชน์):[ [][]แต่ใช้ไม่ได้กับ Java หรือ JavaScript
cayhorstmann


1

หากคุณต้องการที่จะลบ[หรือใช้การแสดงออก:] "\\[|\\]"

แบ็กสแลชสองตัวจะหลุดจากวงเล็บเหลี่ยมและไปป์คือ "หรือ"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.