आप की खोज की है के रूप में, आप एक regex क्योंकि भीतर एक मूल्य को जोड़ नहीं कर सकते हैं:
क्योंकि चरित्र वर्गों जब regex संकलित किया गया है निर्धारित कर रहे हैं ... केवल चरित्र वर्ग regex नोड प्रकार है "कड़ी मेहनत वर्णों की कोडित सूची "जिसे रेगेक्स संकलित किया गया था (जब यह भागने के बाद नहीं था और यह पता लगाया गया कि $ 1 क्या हो सकता है) बनाया गया था।
[Source]
के बाद से चरित्र वर्गों backreferences की अनुमति नहीं देते, एक बैकस्लैश एक नंबर के बाद एक चरित्र वर्ग में पुनः प्रयोजन है:
एक बैकस्लैश दो या तीन अष्टाधारी संख्याएं आती हैं है एक ऑक्टल संख्या माना जाता है।
[Source]
यह स्पष्ट रूप से क्या आप [\1-9]
द्वारा इरादा नहीं है। लेकिन चूंकि सभी पात्रों को ज्ञात होने तक चरित्र वर्ग को संकलित करने का कोई तरीका नहीं है, इसलिए हमें एक और तरीका खोजना होगा।
यदि हम इसे पूरी तरह से रेगेक्स के भीतर करना चाहते हैं तो हम सभी संभावित संयोजनों का आकलन नहीं कर सकते हैं, क्योंकि हमें पता लगाने के लिए सभी कैप्चरों को जांचना होगा। For example:
"1x2" =~ m/(?:(0)x(\d)|(1)x([1-9])|(2)x([2-9])|(3)x([3-9])|(4)x([4-9])|(5)x([5-9])|(6)x([6-9])|(7)x([7-9])|(8)x([89])|(9)x(9))/
में शामिल होंगे "1" $3
में और "2" $4
में है, लेकिन आप खोज करने के लिए 1 से 20 कब्जा अगर कुछ भी हर बार मिलान किया गया था खोजने के लिए होगा।
आसपास regex परिणामों पर पोस्ट प्रोसेसिंग कर एक ही रास्ता एक regex सशर्त उपयोग करने के लिए है: (?(A)X)
कहाँ A
एक सशर्त है और X
जिसके परिणामस्वरूप कार्रवाई है।
Sadly conditionals are not supported by RE2, लेकिन हम यह प्रदर्शित करने के लिए जारी रहेगा कि यह किया जा सकता है। http://www.rexegg.com/regex-tricks.html#fail
क्या आप A
के लिए उपयोग करना चाहें ?{$1 > $2}
, लेकिन only Perl will allow you to use code directly in a regex है:
आप X
के लिए उपयोग करने के लिए क्या चाहते हैं (*F)
(या (?!)
रूबी में 2 +) विफलता के लिए मजबूर किया जा सके।
m/(\d)x(\d)(?(?{$1 > $2})(?!))/
[Live Example]
तो आपके सवाल का जवाब है: पर्ल आप का उपयोग करने की अनुमति होगी "नहीं, तो आप इस RE2 जो Google Analytics का उपयोग साथ नहीं कर सकते, लेकिन हाँ आप कर सकते हैं यह एक पर्ल regex के साथ। "
रेगेक्स स्वाद क्या है? –
मैं इसे Google एनालिटिक्स में उपयोग करने की कोशिश कर रहा हूं, मुझे यकीन नहीं है कि यह क्या स्वाद है लेकिन मुझे पीसीपीआरई – Frinsh
नहीं लगता है, जीए आरई 2 का उपयोग करता है। इसका मतलब है कि इसे शुद्ध रेगेक्स के साथ करना संभव नहीं है। –