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

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

4
ข้อผิดพลาด sed: "การอ้างอิงที่ไม่ถูกต้อง \ 1 ใน RHS ของคำสั่ง 's'
ฉันเรียกใช้คำสั่งเปลี่ยนตัวหลายเป็นหลักของการสคริปต์ Colorize สำหรับผู้เชี่ยวชาญ หนึ่งในsedคำสั่งที่ใช้การแสดงออกปกติที่ทำงานพบในเปลือกเป็นกล่าวถึงที่นี่ ปัจจุบัน (ไม่ทำงาน) การดำเนินงานที่สามารถพบได้ที่นี่ เมื่อฉันรวมหนึ่งในตัวแปรของคำสั่งลงในสคริปต์พฤติกรรมที่แตกต่างกันจะเกิดขึ้น: ตัวแปร 1: $ sed -re "s/([a-zA-Z0-9./\\ :-]+)/\1/g" ปรับให้เข้ากับสคริปต์: -re "s/WARNING: ([a-zA-Z0-9./\\ :-]+)/${warn}WARNING: \1${c_end}/g" \ ข้อผิดพลาด:$ sedเปลือกเอาท์พุทข้อมูลเช่นเดียวกับถ้าผมจะพิมพ์ แปลก!? ตัวแปร 2: $ sed -e "s/\([a-zA-Z0-9./\\ :-]\+\)/\1/g" ปรับให้เข้ากับสคริปต์: -e "s/WARNING: \([a-zA-Z0-9./\\ :-]\+\)/${warn}WARNING: \1${c_end}/g" \ ข้อผิดพลาด: sed: -e expression # 7, char 59: การอ้างอิงที่ไม่ถูกต้อง \ 1 …
106 regex  sed  substitution 

14
จะค้นหาดัชนีของการเกิดขึ้นทั้งหมดของสตริงหนึ่งในอีกสตริงใน JavaScript ได้อย่างไร
ฉันพยายามหาตำแหน่งของสตริงที่เกิดขึ้นทั้งหมดในสตริงอื่นโดยไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ ตัวอย่างเช่นกำหนดสตริง: ฉันเรียนรู้การเล่นอูคูเลเล่ในเลบานอน และสตริงการค้นหาleฉันต้องการรับอาร์เรย์: [2, 25, 27, 33] สตริงทั้งสองจะเป็นตัวแปรนั่นคือฉันไม่สามารถฮาร์ดโค้ดค่าของมันได้ ฉันคิดว่านี่เป็นงานง่ายสำหรับนิพจน์ทั่วไป แต่หลังจากพยายามดิ้นรนสักพักเพื่อหาสิ่งที่ใช้ได้ผลฉันก็ไม่มีโชค ฉันพบตัวอย่างวิธีการใช้งานนี้ให้สำเร็จ.indexOf()แต่ต้องมีวิธีที่รัดกุมกว่านี้ใช่ไหม

7
ฉันสามารถแทนที่กลุ่มใน Java regex ได้หรือไม่
ฉันมีรหัสนี้และฉันต้องการทราบว่าฉันสามารถแทนที่เฉพาะกลุ่ม (ไม่ใช่รูปแบบทั้งหมด) ใน Java regex ได้หรือไม่ รหัส: //... Pattern p = Pattern.compile("(\\d).*(\\d)"); String input = "6 example input 4"; Matcher m = p.matcher(input); if (m.find()) { //Now I want replace group one ( (\\d) ) with number //and group two (too (\\d) ) with 1, but I don't know how. …

6
Regex เท่ากับ n หรือ m เท่า
พิจารณาการแสดงออกปกติต่อไปนี้ที่Xเป็นใด ๆ regex X{n}|X{m} regex นี้จะทดสอบว่าXเกิดขึ้นตรง nหรือmเวลา มีปริมาณ regex ที่สามารถทดสอบการเกิดขึ้นXตรงnหรือmครั้ง?
105 java  php  regex 

5
นิพจน์ทั่วไปของ Ruby โดยใช้ชื่อตัวแปร
เป็นไปได้หรือไม่ที่จะสร้าง / ใช้รูปแบบนิพจน์ทั่วไปในทับทิมโดยอิงตามค่าของชื่อตัวแปร ตัวอย่างเช่นเราทุกคนรู้ว่าเราสามารถทำสิ่งต่อไปนี้ด้วยสตริง Ruby: str = "my string" str2 = "This is #{str}" # => "This is my string" ฉันต้องการทำสิ่งเดียวกันกับนิพจน์ทั่วไป: var = "Value" str = "a test Value" str.gsub( /#{var}/, 'foo' ) # => "a test foo" เห็นได้ชัดว่ามันไม่ได้ผลตามที่ระบุไว้ฉันแค่ใส่ไว้เป็นตัวอย่างเพื่อแสดงให้เห็นว่าฉันต้องการทำอะไร ฉันต้องการจับคู่ regexp ตามค่าของเนื้อหาของตัวแปร
105 ruby  regex 

2
ไวยากรณ์ฟรีตามบริบทคืออะไร?
ใครช่วยอธิบายให้ฉันเข้าใจว่าไวยากรณ์ที่ไม่มีบริบทคืออะไร หลังจากดูรายการ Wikipedia และรายการ Wikipedia เกี่ยวกับไวยากรณ์ที่เป็นทางการแล้วฉันก็รู้สึกสับสนอย่างสิ้นเชิง จะมีใครใจดีอธิบายว่าสิ่งเหล่านี้คืออะไร? ฉันสงสัยสิ่งนี้เพราะฉันต้องการตรวจสอบการแยกวิเคราะห์และในด้านข้างข้อ จำกัด ของเอนจิน regex ฉันไม่แน่ใจว่าคำศัพท์เหล่านี้เกี่ยวข้องกับการเขียนโปรแกรมโดยตรงหรือไม่หรือเกี่ยวข้องกับภาษาศาสตร์โดยทั่วไปมากกว่า ถ้าเป็นเช่นนั้นต้องขออภัยด้วยนะคะถ้าเป็นเช่นนั้น

13
จะคำนวณจำนวนการเกิดขึ้นของอักขระที่กำหนดในแต่ละแถวของคอลัมน์สตริงได้อย่างไร?
ฉันมี data.frame ที่ตัวแปรบางตัวมีสตริงข้อความ ฉันต้องการนับจำนวนครั้งของอักขระที่กำหนดในแต่ละสตริง ตัวอย่าง: q.data<-data.frame(number=1:3, string=c("greatgreat", "magic", "not")) ฉันต้องการสร้างคอลัมน์ใหม่สำหรับ q.data ที่มีจำนวนครั้งของ "a" ในสตริง (เช่น c (2,1,0)) วิธีเดียวที่ซับซ้อนที่ฉันจัดการได้คือ: string.counter<-function(strings, pattern){ counts<-NULL for(i in 1:length(strings)){ counts[i]<-length(attr(gregexpr(pattern,strings[i])[[1]], "match.length")[attr(gregexpr(pattern,strings[i])[[1]], "match.length")>0]) } return(counts) } string.counter(strings=q.data$string, pattern="a") number string number.of.a 1 1 greatgreat 2 2 2 magic 1 3 3 not 0
105 regex  r  dataframe 

17
ฉันจะใช้ regex ในแบบสอบถาม SQLite ได้อย่างไร
ฉันต้องการใช้นิพจน์ทั่วไปใน sqlite แต่ฉันไม่รู้วิธี ตารางของฉันมีคอลัมน์ที่มีสตริงดังนี้: "3,12,13,14,19,28,32" ตอนนี้ถ้าฉันพิมพ์ "โดยที่ x LIKE '3'" ฉันจะได้แถวที่มีค่าเช่น 13 หรือ 32 ด้วย แต่ฉันต้องการรับเฉพาะแถวที่มีค่า 3 ในสตริงนั้นเท่านั้น ไม่มีใครรู้วิธีแก้ปัญหานี้?

4
นิพจน์ทั่วไปสำหรับสตริงที่มีหนึ่งคำ แต่ไม่ใช่อีกคำ
ฉันกำลังตั้งเป้าหมายบางอย่างใน Google Analytics และสามารถใช้ความช่วยเหลือเกี่ยวกับ regex ได้เล็กน้อย สมมติว่าฉันมี URL 4 รายการ http://www.anydotcom.com/test/search.cfm?metric=blah&selector=size&value=1 http://www.anydotcom.com/test/search.cfm?metric=blah2&selector=style&value=1 http://www.anydotcom.com/test/search.cfm?metric=blah3&selector=size&value=1 http://www.anydotcom.com/test/details.cfm?metric=blah&selector=size&value=1 ฉันต้องการสร้างนิพจน์ที่จะระบุ URL ใด ๆ ที่มี string selector = sizeแต่ไม่มีdetails.cfm ฉันรู้ว่าในการค้นหาสตริงที่ไม่มีสตริงอื่นฉันสามารถใช้นิพจน์นี้: (^((?!details.cfm).)*$) แต่ฉันไม่แน่ใจว่าจะเพิ่มในส่วนselector = sizeอย่างไร ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก!

2
PatternSyntaxException: การทำซ้ำที่ผิดกฎหมายเมื่อใช้ regex ใน Java
ฉันไม่รู้จัก regex มากนัก แต่ฉันต้องจับคู่รูปแบบง่ายๆ สิ่งต่อไปนี้ควรคืนค่าเป็นจริง Pattern.matches("{\"user_id\" : [0-9]*}", inputLine) เมื่อ inputLine คือ {"user_id" : 34} อย่างไรก็ตามฉันได้รับข้อยกเว้นนี้: java.util.regex.PatternSyntaxException: Illegal repetition {"user_id" : 24} at java.util.regex.Pattern.error(Unknown Source) at java.util.regex.Pattern.closure(Unknown Source) at java.util.regex.Pattern.sequence(Unknown Source) at java.util.regex.Pattern.expr(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.util.regex.Pattern.<init>(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.util.regex.Pattern.matches(Unknown Source) at org.whispercomm.manes.server.http.IntegrationTest.createUser(IntegrationTest.java:173) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native …
105 java  regex  matcher 

5
Java Regex Thread ปลอดภัยหรือไม่
ฉันมีฟังก์ชันที่ใช้Pattern#compileและMatcherค้นหารายการสตริงสำหรับรูปแบบ ฟังก์ชันนี้ใช้ในหลายเธรด แต่ละเธรดจะมีรูปแบบเฉพาะที่ส่งผ่านไปยังPattern#compileเวลาที่สร้างเธรด จำนวนเธรดและรูปแบบเป็นแบบไดนามิกซึ่งหมายความว่าฉันสามารถเพิ่มPatterns และเธรดได้มากขึ้นในระหว่างการกำหนดค่า ฉันต้องใส่synchronizeฟังก์ชันนี้หรือไม่หากใช้ regex regex ใน java thread ปลอดภัยหรือไม่?

5
Regex lookahead สำหรับ 'not ตามด้วย' ใน grep
ฉันพยายาม grep สำหรับทุกกรณีที่Ui\.ไม่ได้ตามด้วยLineหรือแม้แต่ตัวอักษรL อะไรคือวิธีที่เหมาะสมในการเขียนนิพจน์ทั่วไปสำหรับการค้นหาอินสแตนซ์ทั้งหมดของสตริงเฉพาะที่ไม่ตามด้วยสตริงอื่น ใช้ Lookaheads grep "Ui\.(?!L)" * bash: !L: event not found grep "Ui\.(?!(Line))" * nothing

11
Javascript ไม่ชัดเจนการค้นหาที่เหมาะสม
ฉันกำลังมองหาไลบรารี JavaScript การค้นหาที่คลุมเครือเพื่อกรองอาร์เรย์ ฉันได้ลองใช้fuzzyset.jsและfuse.jsแล้ว แต่ผลลัพธ์แย่มาก (มีการสาธิตที่คุณสามารถลองได้ในหน้าที่เชื่อมโยง) หลังจากอ่านข้อมูลเกี่ยวกับระยะทาง Levenshtein แล้วมันทำให้ฉันรู้สึกแย่เพราะประมาณว่าผู้ใช้กำลังมองหาอะไรเมื่อพวกเขาพิมพ์ สำหรับผู้ที่ไม่ทราบว่าระบบจะคำนวณว่าหลายแทรก , ลบและแทนมีความจำเป็นที่จะทำให้สองสายตรง ข้อบกพร่องที่เห็นได้ชัดอย่างหนึ่งซึ่งได้รับการแก้ไขในแบบจำลอง Levenshtein-Demerau คือทั้งblubและboobถือว่าใกล้เคียงกับbulb (แต่ละอันต้องใช้การทดแทนสองครั้ง) มันเป็นที่ชัดเจน แต่ที่หลอดไฟมีมากขึ้นคล้ายกับร้องไห้สะอึกสะอื้นกว่าคนโง่และเป็นรูปแบบที่ผมกล่าวถึงเพียงตระหนักดีว่าโดยให้transpositions ฉันต้องการใช้สิ่งนี้ในบริบทของการเติมข้อความดังนั้นหากฉันมีอาร์เรย์['international', 'splint', 'tinder']และข้อความค้นหาของฉันเป็นintฉันคิดว่านานาชาติควรมีอันดับสูงกว่าเฝือกแม้ว่าในอดีตจะมีคะแนน (สูงกว่า = แย่กว่า) ถึง 10 เทียบกับของหลัง 3. สิ่งที่ฉันกำลังมองหา (และจะสร้างขึ้นหากไม่มี) คือไลบรารีที่ทำสิ่งต่อไปนี้: ให้น้ำหนักการปรับแต่งข้อความต่างๆ การชั่งน้ำหนักแต่ละการจัดการจะแตกต่างกันไปขึ้นอยู่กับตำแหน่งที่ปรากฏในคำหนึ่ง (การปรับเปลี่ยนในช่วงแรกมีค่าใช้จ่ายสูงกว่าการจัดการในช่วงปลาย) ส่งคืนรายการผลลัพธ์ที่เรียงตามความเกี่ยวข้อง มีใครเจออะไรแบบนี้บ้าง? ฉันตระหนักดีว่า StackOverflow ไม่ใช่สถานที่ที่จะขอคำแนะนำซอฟต์แวร์ แต่โดยนัย (ไม่ใช่อีกต่อไป!) ในด้านบนคือ: ฉันคิดเกี่ยวกับวิธีนี้ถูกต้องหรือไม่? แก้ไข ฉันพบกระดาษดีๆ (pdf)ในหัวข้อนี้ หมายเหตุและข้อความที่ตัดตอนมาบางส่วน: ฟังก์ชั่นการแก้ไขระยะห่างจะกำหนดต้นทุนที่ค่อนข้างต่ำให้กับลำดับการแทรกหรือการลบ ฟังก์ชันระยะทาง Monger-Elkan …

6
วิธีค้นหาองค์ประกอบโดยการจับคู่ข้อความขององค์ประกอบใน Capybara
ฉันมีสององค์ประกอบต่อไปนี้ใน HTML <a href="/berlin" >Berlin</a> <a href="/berlin" >Berlin Germany </a> ฉันกำลังพยายามค้นหาองค์ประกอบโดยใช้วิธี Capybara ต่อไปนี้ find("a", :text => "berlin") ด้านบนจะแสดงสององค์ประกอบเนื่องจากทั้งสองมีข้อความเบอร์ลิน มีวิธีจับคู่ข้อความใน Capybara หรือไม่?
103 ruby  regex  capybara 

13
ตรวจสอบว่าสตริงเป็น html หรือไม่
ฉันมีสตริงที่ต้องการตรวจสอบว่าเป็น html หรือไม่ ฉันใช้ regex เหมือนกัน แต่ไม่ได้ผลลัพธ์ที่เหมาะสม ผมตรวจสอบ regex ของฉันและมันทำงานได้ดีที่นี่ var htmlRegex = new RegExp("<([A-Za-z][A-Za-z0-9]*)\b[^>]*>(.*?)</\1>"); return htmlRegex.test(testString); นี่คือซอ แต่ regex ไม่ได้ทำงานอยู่ที่นั่น http://jsfiddle.net/wFWtc/ ในเครื่องของฉันรหัสทำงานได้ดี แต่ฉันได้ผลลัพธ์เป็นเท็จแทนที่จะเป็นจริง มีอะไรหายไปที่นี่?
103 javascript  regex 

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