คำถามติดแท็ก regex

นิพจน์ทั่วไปจัดเตรียมภาษาที่ประกาศเพื่อจับคู่รูปแบบภายในสตริง โดยทั่วไปจะใช้สำหรับการตรวจสอบความถูกต้องสตริงการแยกวิเคราะห์และการแปลง เนื่องจากนิพจน์ทั่วไปนั้นไม่ได้มาตรฐานอย่างสมบูรณ์คำถามทั้งหมดที่มีแท็กนี้จึงควรมีแท็กที่ระบุภาษาการเขียนโปรแกรมหรือเครื่องมือที่เกี่ยวข้อง หมายเหตุ: การขอ HTML, JSON และอื่น ๆ regex มีแนวโน้มที่จะพบกับปฏิกิริยาเชิงลบ หากมีการแยกวิเคราะห์มันใช้ที่แทน

21
แยกสตริงขนาดใหญ่เป็นชิ้นขนาด n ใน JavaScript
ฉันต้องการแยกสตริงที่มีขนาดใหญ่มาก (สมมติว่า 10,000 ตัวอักษร) เป็นชิ้นขนาด N อะไรจะเป็นวิธีที่ดีที่สุดในแง่ของประสิทธิภาพในการทำเช่นนี้? ยกตัวอย่างเช่น: "1234567890"แยก 2 ["12", "34", "56", "78", "90"]ก็จะกลายเป็น สิ่งนี้จะเป็นไปได้ที่จะใช้String.prototype.matchและถ้าเป็นเช่นนั้นจะเป็นวิธีที่ดีที่สุดที่จะทำในแง่ของประสิทธิภาพ?


25
จะหารูปแบบข้ามหลายบรรทัดโดยใช้ grep ได้อย่างไร
ฉันต้องการค้นหาไฟล์ที่มี "abc" และ "efg" ตามลำดับและทั้งสองสตริงนั้นอยู่ในบรรทัดที่ต่างกันในไฟล์นั้น เช่นไฟล์ที่มีเนื้อหา: blah blah.. blah blah.. blah abc blah blah blah.. blah blah.. blah blah.. blah efg blah blah blah blah.. blah blah.. ควรจับคู่
208 regex  grep 

18
ใช้การแสดงออกปกติเพื่อแยก HTML: ทำไมไม่?
ดูเหมือนว่าทุกคำถามใน stackoverflow ที่ผู้ถามใช้ regex เพื่อดึงข้อมูลบางอย่างจาก HTML อย่างหลีกเลี่ยงไม่ได้จะมี "คำตอบ" ที่บอกว่าจะไม่ใช้ regex ในการแยกวิเคราะห์ HTML ทำไมจะไม่ล่ะ? ฉันทราบว่ามีตัวแยกวิเคราะห์ HTML "ของจริง" ที่อ้างถึงออกมาเช่นBeautiful Soupและฉันมั่นใจว่ามันมีประสิทธิภาพและมีประโยชน์ แต่ถ้าคุณเพิ่งทำสิ่งที่ง่ายรวดเร็วหรือสกปรกแล้วทำไม รบกวนการใช้สิ่งที่ซับซ้อนมากเมื่องบ regex ไม่กี่จะทำงานได้ดี? ยิ่งไปกว่านั้นมีบางสิ่งพื้นฐานที่ฉันไม่เข้าใจเกี่ยวกับ regex ที่ทำให้พวกเขาเป็นตัวเลือกที่ไม่ดีสำหรับการแยกวิเคราะห์โดยทั่วไปหรือไม่?


5
ตรวจสอบว่าสตริงตรงกับ regex ใน Bash script หรือไม่
หนึ่งในข้อโต้แย้งที่สคริปต์ของฉันได้รับคือวันที่ในรูปแบบต่อไปนี้: yyyymmddหนึ่งของการขัดแย้งที่สคริปต์ของฉันได้รับคือวันในรูปแบบต่อไปนี้: ฉันต้องการตรวจสอบว่าฉันได้รับวันที่ถูกต้องเป็นอินพุตหรือไม่ ฉันจะทำสิ่งนี้ได้อย่างไร ฉันพยายามใช้ regex เช่น:[0-9]\{\8}
204 regex  bash  shell  scripting 


13
ใช้ String.split () กับตัวคั่นหลายตัว
ฉันต้องการที่จะแยกฐานสตริงคั่นและ- .ด้านล่างเป็นผลลัพธ์ที่ฉันต้องการ AA.BB-CC-DD.zip -> AA BB CC DD zip แต่รหัสต่อไปนี้ใช้ไม่ได้ private void getId(String pdfName){ String[]tokens = pdfName.split("-\\."); }
201 java  regex 

7
Regex เพื่อทดสอบว่าสตริงเริ่มต้นด้วย http: // หรือ https: //
ฉันพยายามตั้งค่า regexp ซึ่งจะตรวจสอบการเริ่มต้นของสตริงและถ้ามันมีอย่างใดอย่างหนึ่งhttp://หรือhttps://ควรจะตรงกับมัน ฉันจะทำสิ่งนั้นได้อย่างไร ฉันพยายามต่อไปนี้ซึ่งใช้งานไม่ได้: ^[(http)(https)]://
200 regex 


1
นิพจน์ปกติสำหรับสตริงที่ไม่ได้ขึ้นต้นด้วยลำดับ
ฉันกำลังประมวลผลตารางจำนวนมากโดยใช้โปรแกรมนี้แต่ฉันต้องไม่สนใจสิ่งที่ขึ้นต้นด้วยป้ายกำกับ "tbd_" จนถึงตอนนี้ฉันมีบางอย่างเช่น [^ tbd_] แต่นั่นก็ไม่ตรงกับตัวละครเหล่านั้น
197 regex 

4
ความแตกต่างระหว่าง \ A \ z และ ^ $ ในนิพจน์ปกติของ Ruby
ในเอกสารที่ฉันอ่าน: ใช้ \ A และ \ z เพื่อจับคู่จุดเริ่มต้นและจุดสิ้นสุดของสตริง, ^ และ $ ตรงกับจุดเริ่มต้น / สิ้นสุดของบรรทัด ฉันจะใช้นิพจน์ทั่วไปเพื่อตรวจสอบชื่อผู้ใช้ (หรืออีเมลเหมือนกัน) ที่ส่งโดยผู้ใช้ ฉันควรใช้นิพจน์ใดvalidates_format_ofในโมเดล ฉันไม่เข้าใจความแตกต่าง: ฉันเคยใช้ ^ และ $ ...
196 ruby  regex 

5
วิธีการแทนที่กลุ่มที่ถูกจับเท่านั้น?
ฉันมีรหัส HTML ก่อนและหลังสตริง: name="some_text_0_some_text" ฉันต้องการแทนที่0ด้วยสิ่งที่ชอบ:!NEW_ID! ดังนั้นฉันทำ regex ง่าย: .*name="\w+(\d+)\w+".* แต่ฉันไม่เห็นวิธีการแทนที่เฉพาะบล็อกที่ถูกจับ มีวิธีในการแทนที่ผลการจับภาพเช่น ($ 1) โดยสายอื่น ๆ ? ผลลัพธ์จะเป็น: name="some_text_!NEW_ID!_some_text"
196 javascript  regex 

7
การแยกสตริง Java ด้วยสัญลักษณ์ไปป์โดยใช้ split (“ |”)
เอกสารประกอบอย่างเป็นทางการของ Java: "boo:and:foo"ตัวอย่างเช่นสตริงให้ผลลัพธ์ต่อไปนี้ด้วยนิพจน์ผลลัพธ์ Regex เหล่านี้: { "boo", "and", "foo" }" และนั่นคือวิธีที่ฉันต้องการในการทำงาน อย่างไรก็ตามถ้าฉันเรียกใช้สิ่งนี้: public static void main(String[] args){ String test = "A|B|C||D"; String[] result = test.split("|"); for(String s : result){ System.out.println(">"+s+"<"); } } มันพิมพ์: >< >A< >|< >B< >|< >C< >|< >|< >D< ซึ่งอยู่ไกลจากสิ่งที่ฉันคาดหวัง: >A< >B< >C< >< >D< ทำไมสิ่งนี้จึงเกิดขึ้น
195 java  regex  string 

15
รับซับสตริงระหว่างอักขระสองตัวโดยใช้ javascript
ฉันพยายามที่จะดึงสตริงจากภายในสตริงที่มีขนาดใหญ่ขึ้นซึ่งมันจะทำให้ทุกอย่างอยู่ระหว่าง ':' และ a ';' ปัจจุบัน Str = 'MyLongString:StringIWant;' ผลลัพธ์ที่ต้องการ newStr = 'StringIWant'

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