में ढूंढें मान लीजिए कि आपके पास स्ट्रिंग है (उदा। needle
)। इसके 19 निरंतर सबस्ट्रिंग हैं:एक स्ट्रिंग * और * इसके उपस्ट्रिंग्स को एक हैस्टैक
/(needle|needl|eedle|need|eedl|edle|nee|eed|edl|dle|ne|ee|ed|dl|le|n|e|d|l)/
लेकिन यह वास्तव में नहीं दिखता है:
needle
needl eedle
need eedl edle
nee eed edl dle
ne ee ed dl le
n e d l
अगर मैं, एक रेगुलर एक्सप्रेशन से मेल करने के लिए बनाने के लिए एक भूसे के ढेर में, सबस्ट्रिंग के किसी भी मैं बस कर सकता थे सुरुचिपूर्ण। क्या रेगेक्स बनाने का कोई बेहतर तरीका है जो किसी दिए गए स्ट्रिंग के किसी भी सबस्ट्रिंग से लालच से मेल खाता है?
इसके अतिरिक्त, अगर मैंने एक और बाधा उत्पन्न की, तो केवल थ्रेसहोल्ड से अधिक सब्सट्रिंग से मेल खाना चाहता था, उदा।
/(needle|needl|eedle|need|eedl|edle|nee|eed|edl|dle)/
टिप्पणी: कम से कम 3 अक्षरों के सबस्ट्रिंग के लिए मैं जानबूझ कर किसी विशेष regex बोली का उल्लेख नहीं था। कृपया बताएं कि आप किस उत्तर में अपने उत्तर में उपयोग कर रहे हैं।
यह [सबसे लंबे समय तक सामान्य सबस्ट्रिंग] (http://en.wikipedia.org/wiki/Longest_common_substring_problem) समस्या की तरह दिखता है। क्या इसे regexp होना चाहिए? – dasblinkenlight
सुई की लंबाई निश्चित रूप से घास के मैदान की तुलना में कम परिमाण के आदेश होगी। इसके अलावा, मुझे यह जानने में दिलचस्पी है कि सुई के किसी भी सबस्ट्रिंग की कितनी घटनाएं घाटी में दिखाई देती हैं, न कि एलसीएस कौन सा है। – CAFxX
मुझे नहीं लगता कि घटना बहुत सरल सवाल है (http://stackoverflow.com/questions/9114402/regexp-finding-longest-common-prefix-of-two-strings) में एक regexp का उपयोग करके आसान समाधान है, इसलिए शायद आपको होना चाहिए आपको वास्तव में क्या चाहिए इसकी अधिक विशिष्टता। क्या हम प्रोग्रामिक रूप से regexp उत्पन्न कर सकते हैं? देवताओं को regexp होने की जरूरत है? – gorn