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

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

18
ฉันจะแยกวิเคราะห์สตริง CSV ด้วย JavaScript ซึ่งมีลูกน้ำในข้อมูลได้อย่างไร
ฉันมีสตริงประเภทต่อไปนี้ var string = "'string, duppi, du', 23, lala" ฉันต้องการแยกสตริงออกเป็นอาร์เรย์ในแต่ละลูกน้ำ แต่มีเพียงเครื่องหมายจุลภาคที่อยู่นอกเครื่องหมายคำพูดเดียว ฉันไม่สามารถหานิพจน์ทั่วไปที่ถูกต้องสำหรับการแยก ... string.split(/,/) จะให้ฉัน ["'string", " duppi", " du'", " 23", " lala"] แต่ผลลัพธ์ควรเป็น: ["string, duppi, du", "23", "lala"] มีโซลูชันข้ามเบราว์เซอร์หรือไม่?

5
ฉันจะได้รับชื่อของกลุ่มที่บันทึกใน C # Regex ได้อย่างไร
มีวิธีรับชื่อกลุ่มที่ถูกจับใน C # หรือไม่? string line = "No.123456789 04/09/2009 999"; Regex regex = new Regex(@"(?<number>[\d]{9}) (?<date>[\d]{2}/[\d]{2}/[\d]{4}) (?<code>.*)"); GroupCollection groups = regex.Match(line).Groups; foreach (Group group in groups) { Console.WriteLine("Group: {0}, Value: {1}", ???, group.Value); } ฉันต้องการรับผลลัพธ์นี้: กลุ่ม: [ฉันไม่รู้ว่าควรไปที่นี่], ค่า: 123456789 04/09/2009 999 กลุ่ม: ตัวเลขค่า: 123456789 กลุ่ม: วันที่ค่า: 04/09/2552 กลุ่ม: รหัส, มูลค่า: …
98 c#  regex 

3
RegEx: การจับคู่ที่เล็กที่สุดหรือการจับคู่ที่ไม่เหมาะสม
ฉันจะบอก RegEx (เวอร์ชัน. NET) ได้อย่างไรเพื่อให้ได้การจับคู่ที่ถูกต้องน้อยที่สุดแทนที่จะเป็นรายการที่ใหญ่ที่สุด

5
วิธีการแยกข้อความจากสตริงโดยใช้ sed?
สตริงตัวอย่างของฉันมีดังนี้: This is 02G05 a test string 20-Jul-2012 02G05ตอนนี้จากสตริงดังกล่าวข้างต้นที่ฉันต้องการที่จะดึง สำหรับสิ่งนั้นฉันลอง regex ต่อไปนี้ด้วย sed $ echo "This is 02G05 a test string 20-Jul-2012" | sed -n '/\d+G\d+/p' แต่คำสั่งด้านบนไม่พิมพ์อะไรเลยและเหตุผลที่ฉันเชื่อคือมันไม่สามารถจับคู่อะไรกับรูปแบบที่ฉันให้มาได้ คำถามของฉันคือฉันทำอะไรผิดที่นี่และจะแก้ไขอย่างไร เมื่อฉันลองใช้สตริงและรูปแบบด้านบนด้วย python ฉันได้ผลลัพธ์ >>> re.findall(r'\d+G\d+',st) ['02G05'] >>>
98 regex  bash  sed 

9
sed Beginner: เปลี่ยนเหตุการณ์ทั้งหมดในโฟลเดอร์
ฉันต้องทำการ regex ค้นหาและแทนที่ไฟล์ทั้งหมดในโฟลเดอร์ (และโฟลเดอร์ย่อย) คำสั่ง linux shell จะทำอย่างไร ตัวอย่างเช่นฉันต้องการเรียกใช้สิ่งนี้กับไฟล์ทั้งหมดและเขียนทับไฟล์เก่าด้วยข้อความใหม่ที่แทนที่ sed 's/old text/new text/g'
98 regex  linux  shell  sed 

4
RegEx เพื่อค้นหาตัวอักษรที่ต่อเนื่องกันสองตัวขึ้นไป
ฉันต้องการตรวจสอบว่าสตริงมีอักขระอัลฟ่าที่ต่อเนื่องกันสองตัวขึ้นไปหรือไม่ [a-zA-Z]เคียงข้างกันสองคนขึ้นไป ตัวอย่าง: "ab" -> valid "a1" -> invalid "a b" -> invalid "a"-> invalid "a ab" -> valid "11" -> invalid
98 regex 

5
ย้อนกลับนัดแรกของ Ruby regex
ฉันกำลังมองหาวิธีทำการจับคู่ regex กับสตริงใน Ruby และทำให้มันลัดวงจรในนัดแรก สตริงที่ฉันกำลังประมวลผลนั้นยาวและดูเหมือนว่าวิธีมาตรฐาน ( matchวิธีการ) จะประมวลผลสิ่งทั้งหมดรวบรวมการแข่งขันแต่ละรายการและส่งคืนวัตถุ MatchData ที่มีรายการที่ตรงกันทั้งหมด match = string.match(/regex/)[0].to_s
97 ruby  regex  string 

6
ใช้ sed และ grep / egrep เพื่อค้นหาและแทนที่
ฉันใช้egrep -Rตามด้วยนิพจน์ทั่วไปที่มีประมาณ 10 สหภาพแรงงานเช่น: .jpg | .png | .gifฯลฯ สิ่งนี้ใช้ได้ดีตอนนี้ฉันต้องการแทนที่สตริงทั้งหมดที่พบด้วย.bmp ฉันกำลังคิดบางอย่างเช่น egrep -lR "\.jpg|\.png|\.gif" . | sed "s/some_expression/.jpg/" file_it_came_form ดังนั้นปัญหาที่นี่คือฉันจะทำนิพจน์ทั่วไปของสหภาพที่คล้ายกันได้sedอย่างไรและฉันจะบอกให้บันทึกการเปลี่ยนแปลงในไฟล์ที่ได้รับอินพุตได้อย่างไร
97 regex  sed  grep 

5
Regex เพื่อลบทั้งหมด (ไม่ใช่ตัวเลขหรือจุด)
ฉันต้องการให้ข้อความเช่น "joe ($ 3,004.50)" ถูกกรองลงเหลือ 3004.50 แต่ regex แย่มากและไม่สามารถหาวิธีแก้ปัญหาที่เหมาะสมได้ ดังนั้นควรมีเพียงตัวเลขและจุดเท่านั้น - ทุกอย่างจะถูกกรอง ฉันใช้ C # และ VS.net 2008 framework 3.5
97 c#  regex 

4
จะลบล้าง regex ทั้งหมดได้อย่างไร?
ตัวอย่างเช่นฉันมีนิพจน์(ma|(t){1})ทั่วไป มันตรงmaและไม่ตรงกับtbla ฉันต้องการที่จะลบล้าง regex จึงจะต้องตรงblaและไม่maและt, โดยการเพิ่มสิ่งที่จะ regex ฉันรู้ว่าฉันเขียนblaได้ regex ที่แท้จริงนั้นซับซ้อนกว่าอย่างไรก็ตาม

1
จุดต้องถูกหลีกเลี่ยงในคลาสอักขระ (วงเล็บเหลี่ยม) ของนิพจน์ทั่วไปหรือไม่?
จุด.ในนิพจน์ทั่วไปจะจับคู่อักขระเดี่ยว ๆ เพื่อให้ regex จับคู่จุดจุดจะต้องมีการหลีกเลี่ยง:\. มีการชี้ให้ฉันเห็นว่าภายในวงเล็บเหลี่ยม[]ไม่จำเป็นต้องหลบหนี ตัวอย่างเช่นนิพจน์: [.]{3}จะจับคู่...สตริง มันไม่จริงเหรอ? และถ้าเป็นเช่นนั้นจริงสำหรับมาตรฐาน regex ทั้งหมดหรือไม่?

13
Regular Expression เพื่อฟอร์แมตหมายเลขโทรศัพท์ของสหรัฐอเมริกาใน Javascript
ฉันต้องการฟอร์แมตใหม่ (แทนที่ไม่ตรวจสอบ - มีข้อมูลอ้างอิงมากมายสำหรับการตรวจสอบความถูกต้อง) หมายเลขโทรศัพท์สำหรับแสดงใน Javascript นี่คือตัวอย่างของข้อมูลบางส่วน: 123 4567890 (123) 456-7890 (123)456-7890 123 456 7890 123.456.7890 (ว่าง / ว่าง) 1234567890 มีวิธีง่ายๆในการใช้นิพจน์ทั่วไปเพื่อทำสิ่งนี้หรือไม่? ฉันกำลังมองหาวิธีที่ดีที่สุดในการดำเนินการนี้ มีวิธีที่ดีกว่า? ฉันต้องการฟอร์แมตหมายเลขดังต่อไปนี้: (123) 456-7890
97 javascript  regex 

5
HTML parses ทำงานอย่างไรหากไม่ได้ใช้ regexp
ฉันเห็นคำถามทุกวันเพื่อถามวิธีแยกวิเคราะห์หรือดึงข้อมูลบางอย่างจากสตริง HTML และคำตอบ / ความคิดเห็นแรกคือ "อย่าใช้ RegEx เพื่อแยกวิเคราะห์ HTML เกรงว่าคุณจะรู้สึกโกรธ!" (บางครั้งส่วนสุดท้ายจะถูกละไว้) สิ่งนี้ค่อนข้างสับสนสำหรับฉันฉันคิดเสมอว่าโดยทั่วไปวิธีที่ดีที่สุดในการแยกวิเคราะห์สตริงที่ซับซ้อนคือการใช้นิพจน์ทั่วไป โปรแกรมแยกวิเคราะห์ HTML ทำงานอย่างไร? มันไม่ใช้นิพจน์ทั่วไปในการแยกวิเคราะห์ อาร์กิวเมนต์เฉพาะสำหรับการใช้นิพจน์ทั่วไปคือไม่มีทางเลือกในการแยกวิเคราะห์เสมอไป (เช่น JavaScript โดยที่ DOMDocument ไม่ใช่ตัวเลือกที่ใช้ได้ทั่วไป) ตัวอย่างเช่น jQuery ดูเหมือนจะจัดการได้ดีโดยใช้ regex เพื่อแปลงสตริง HTML เป็นโหนด DOM ไม่แน่ใจว่า CW หรือไม่นี่เป็นคำถามที่แท้จริงที่ฉันต้องการคำตอบและไม่ได้ตั้งใจให้เป็นกระทู้สนทนา


3
นิพจน์ทั่วไป / _ / g หมายถึงอะไร?
JavaScript: .replace(/_/g," "); ฉันมีรหัสนี้ แต่จำไม่ได้ว่าทำไมหรือทำอะไร! หนึ่งในผู้เชี่ยวชาญด้านการแสดงออกของคุณสามารถช่วยได้หรือไม่? ฉันรู้ว่าสิ่งนี้อาจดูธรรมดา แต่การแสดงออกปกติไม่ใช่ถ้วยชาของฉันและการใช้ googling /gก็ไม่ได้ช่วยอะไรมาก
96 javascript  regex 

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