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

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

12
ลบแท็ก HTML ใน Javascript ด้วย Regex
ฉันกำลังพยายามลบแท็ก html ทั้งหมดออกจากสตริงใน Javascript นี่คือสิ่งที่ฉันมี ... ฉันคิดไม่ออกว่าทำไมมันถึงไม่ทำงาน .... รู้ไหมว่าฉันทำอะไรผิด? <script type="text/javascript"> var regex = "/<(.|\n)*?>/"; var body = "<p>test</p>"; var result = body.replace(regex, ""); alert(result); </script> ขอบคุณมาก!
108 javascript  regex 


6
รูปแบบ Regex ที่จะจับคู่ไม่รวมเมื่อ… / ยกเว้นระหว่าง
- แก้ไข - คำตอบปัจจุบันมีแนวคิดที่เป็นประโยชน์ แต่ฉันต้องการบางสิ่งที่สมบูรณ์กว่านี้ซึ่งฉันสามารถเข้าใจและนำกลับมาใช้ใหม่ได้ 100% นั่นคือเหตุผลที่ฉันตั้งค่าหัว นอกจากนี้แนวคิดที่ใช้งานได้ทุกที่ยังดีกว่าสำหรับฉันมากกว่าไวยากรณ์มาตรฐานเช่น\K คำถามนี้เกี่ยวกับวิธีจับคู่รูปแบบยกเว้นบางสถานการณ์ s1 s2 s3 ฉันยกตัวอย่างเฉพาะเพื่อแสดงความหมายของฉัน แต่ต้องการคำตอบทั่วไปที่ฉันเข้าใจได้ 100% เพื่อที่ฉันจะได้ใช้ซ้ำในสถานการณ์อื่น ๆ ตัวอย่าง ฉันต้องการจับคู่ตัวเลขห้าหลักโดยใช้\b\d{5}\bแต่ไม่ใช่ในสามสถานการณ์ s1 s2 s3: s1:ไม่อยู่ในบรรทัดที่ลงท้ายด้วยจุดเหมือนประโยคนี้ s2:ไม่มีที่ใดในห้องเก็บของ s3:ไม่อยู่ในบล็อกที่ขึ้นต้นด้วยif(และลงท้ายด้วย//endif ฉันรู้วิธีแก้ปัญหาใด ๆ ของ s1 s2 s3 ด้วย lookahead และ lookbehind โดยเฉพาะใน C # lookbehind หรือ\Kใน PHP ตัวอย่างเช่น s1 (?m)(?!\d+.*?\.$)\d+ s3 กับ C # lookbehind (?<!if\(\D*(?=\d+.*?//endif))\b\d+\b …
108 regex 

2
Python Regex แทนที่กลุ่มทันที
มีวิธีใดในการแทนที่กลุ่มทั้งหมดโดยตรงโดยใช้ไวยากรณ์ regex วิธีปกติ: re.match(r"(?:aaa)(_bbb)", string1).group(1) แต่ฉันต้องการบรรลุสิ่งนี้: re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)") ฉันต้องการสร้างสตริงใหม่ทันทีจากกลุ่มที่ Regex เพิ่งจับมา

6
นิพจน์ทั่วไปที่ตรงกับบล็อกข้อความหลายบรรทัด
ฉันมีปัญหาเล็กน้อยในการทำให้ Python regex ทำงานเมื่อจับคู่กับข้อความที่ครอบคลุมหลายบรรทัด ข้อความตัวอย่างคือ ('\ n' คือขึ้นบรรทัดใหม่) some Varying TEXT\n \n DSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF\n [more of the above, ending with a newline]\n [yep, there is a variable number of lines here]\n \n (repeat the above a few hundred times). ฉันต้องการจับภาพสองสิ่ง: ส่วน 'some_Varying_TEXT' และบรรทัดของข้อความตัวพิมพ์ใหญ่ทั้งหมดที่มีสองบรรทัดด้านล่างในการจับครั้งเดียว (ฉันสามารถตัดอักขระขึ้นบรรทัดใหม่ได้ในภายหลัง) ฉันได้ลองใช้หลายวิธี: re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture …
108 python  regex  multiline 

11
แยกตัวเลขจากเวกเตอร์ของสตริง
ฉันมีสตริงแบบนี้: years<-c("20 years old", "1 years old") ฉันต้องการ grep เฉพาะตัวเลขจากเวกเตอร์นี้ ผลลัพธ์ที่คาดหวังคือเวกเตอร์: c(20, 1) ฉันจะทำสิ่งนี้ได้อย่างไร?
108 regex  r 

10
C ++: ฉันควรใช้ไลบรารี regex อะไร [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังทำงานกับโปรเจ็กต์ C ++ เชิงพาณิชย์ (ไม่ใช่โอเพ่นซอร์ส) ที่ทำงานบนระบบที่ใช้ลินุกซ์ ฉันต้องทำ regex ภายในโค้ด C ++ (ฉันรู้ว่าตอนนี้ฉันมีปัญหา 2 อย่าง) คำถาม: ไลบรารีใดที่ผู้ที่ใช้ regex จาก C / C ++ เป็นประจำแนะนำให้ฉันดู การค้นหาอย่างรวดเร็วทำให้ฉันสนใจสิ่งต่อไปนี้: 1) Boost.Regex (ฉันต้องไปอ่าน Boost Software License แต่คำถามนี้ไม่เกี่ยวกับลิขสิทธิ์ซอฟต์แวร์) 2) C (ไม่ใช่ C ++) POSIX regex (#include <regex.h>, …
107 c++  regex  linux 

6
จะละเว้นช่องว่างในสตริงหัวเรื่องนิพจน์ทั่วไปได้อย่างไร
มีวิธีง่ายๆในการละเว้นช่องว่างในสตริงเป้าหมายเมื่อค้นหารายการที่ตรงกันโดยใช้รูปแบบนิพจน์ทั่วไปหรือไม่? ตัวอย่างเช่นหากการค้นหาของฉันคือ "แมว" ฉันต้องการให้ "c ats" หรือ "ca ts" ตรงกัน ฉันไม่สามารถตัดช่องว่างออกก่อนได้เนื่องจากฉันต้องหาดัชนีเริ่มต้นและจุดสิ้นสุดของการจับคู่ (รวมถึงช่องว่างใด ๆ ) เพื่อเน้นการจับคู่นั้นและต้องมีช่องว่างเพื่อจุดประสงค์ในการจัดรูปแบบ
107 regex  whitespace 

6
การหลีกเลี่ยงเครื่องหมายทับในนิพจน์ทั่วไป
คำถามของฉันเป็นคำถามง่ายๆและเป็นเรื่องเกี่ยวกับการหลบหนีของนิพจน์ทั่วไป คุณต้องหนีเครื่องหมายทับ/ในนิพจน์ทั่วไปหรือไม่? แล้วคุณจะไปทำมันได้อย่างไร?
107 regex  perl  escaping 

9
ความแตกต่างระหว่าง \ b และ \ B ใน regex
ฉันกำลังอ่านหนังสือเกี่ยวกับการแสดงออกปกติและฉันเจอตัวอย่างนี้สำหรับ\b: แมวกระจายอาหารของเขาไปทั่วห้อง ใช้ regex - \bcat\bจะตรงกับคำว่าcatแต่ไม่ได้อยู่ในcatscattered สำหรับ\Bผู้เขียนใช้ตัวอย่างต่อไปนี้: โปรดป้อนรหัสเก้าหลักตามนั้น ปรากฏบนสีของคุณ - รหัสรหัสผ่าน ใช้ regex \B-\Bการแข่งขันระหว่างคำว่า- color - codedใช้\b-\bบนมืออื่น ๆ ที่ตรงกับ-ในและnine-digitpass-key วิธีการมาในตัวอย่างแรกที่เราใช้\bในการแยกcatและการใช้งานที่สอง\Bจะแยก-? การใช้\bในตัวอย่างที่สองจะตรงกันข้ามกับสิ่งที่ทำก่อนหน้านี้ กรุณาอธิบายความแตกต่างให้ฉัน แก้ไข: ใครช่วยอธิบายด้วยตัวอย่างใหม่ได้ไหม
107 regex 

23
รับสตริงระหว่างสองสตริงในสตริง
ฉันมีสตริงเช่น: "super exemple of string key : text I want to keep - end of my string" ฉันต้องการเพียงแค่ให้สตริงซึ่งอยู่ระหว่างและ"key : " " - "ฉันจะทำเช่นนั้นได้อย่างไร? ฉันต้องใช้ Regex หรือฉันสามารถทำได้ด้วยวิธีอื่น?
107 c#  regex  string 

5
re: return True ของ python หากสตริงมีรูปแบบ regex
ฉันมีนิพจน์ทั่วไปดังนี้: regexp = u'ba[r|z|d]' ฟังก์ชั่นจะต้องกลับจริงถ้าคำมีบาร์ , bazหรือไม่ดี ในระยะสั้นฉันต้องการ regexp analog สำหรับ Python's 'any-string' in 'text' จะรู้ตัวได้อย่างไร ขอบคุณ!
107 python  regex 

15
จะแทนที่ชุดโทเค็นใน Java String ได้อย่างไร?
ฉันมีสตริงแม่แบบต่อไปนี้: "Hello [Name] Please find attached [Invoice Number] which is due on [Due Date]". ฉันมีตัวแปรสตริงสำหรับชื่อหมายเลขใบแจ้งหนี้และวันครบกำหนดด้วย - วิธีใดดีที่สุดในการแทนที่โทเค็นในเทมเพลตด้วยตัวแปร (โปรดทราบว่าหากตัวแปรมีโทเค็นอยู่ก็ไม่ควรแทนที่) แก้ไข ขอบคุณ @laginimaineb และ @ alan-moore นี่คือทางออกของฉัน: public static String replaceTokens(String text, Map<String, String> replacements) { Pattern pattern = Pattern.compile("\\[(.+?)\\]"); Matcher matcher = pattern.matcher(text); StringBuffer buffer = new StringBuffer(); while (matcher.find()) { …
106 java  regex  templates 

10
ทำไม sed ถึงไม่รู้จัก \ t เป็นแท็บ
sed "s/\(.*\)/\t\1/" $filename > $sedTmpFile && mv $sedTmpFile $filename ฉันคาดหวังว่าsedสคริปต์นี้จะแทรกtabด้านหน้าของทุกบรรทัด$filenameแต่มันไม่ใช่ ด้วยเหตุผลบางประการจึงเป็นการแทรกtแทน
106 regex  bash  sed 

9
ช่องว่างที่ตรงกัน Regex - Java
Java API สำหรับนิพจน์ทั่วไประบุว่า\sจะตรงกับช่องว่าง ดังนั้น regex \\s\\sควรจับคู่ช่องว่างสองช่อง Pattern whitespace = Pattern.compile("\\s\\s"); matcher = whitespace.matcher(modLine); while (matcher.find()) matcher.replaceAll(" "); จุดมุ่งหมายคือการแทนที่อินสแตนซ์ทั้งหมดของช่องว่างสองช่องที่ติดต่อกันด้วยช่องว่างเดียว อย่างไรก็ตามสิ่งนี้ไม่ได้ผลจริง ฉันมีความเข้าใจผิดอย่างร้ายแรงเกี่ยวกับนิพจน์ทั่วไปหรือคำว่า "ช่องว่าง" หรือไม่?
106 java  regex  whitespace 

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