मेरे पास एक स्ट्रिंग है।

GB-1210 •  40″W x 80 1/4″L x 30 1/4″H

मुझे नियमित अभिव्यक्ति का उपयोग करके इस स्ट्रिंग से चौड़ाई, लंबाई और ऊंचाई प्राप्त करने की आवश्यकता है।

इस नियमित अभिव्यक्ति का उपयोग करके, मैं चौड़ाई पा सकता हूं लेकिन मुझे लंबाई और ऊंचाई नहीं मिल रही है

(\d+\.?\d*)W
-4
Archna Rangrej 15 अक्टूबर 2019, 09:57
1
अपेक्षित आउटपुट क्या है?
 – 
anubhava
15 अक्टूबर 2019, 10:00

2 जवाब

सबसे बढ़िया उत्तर

यदि आपको वास्तव में "GB-1210" से "1210" की आवश्यकता है, तो आप इस नियमित अभिव्यक्ति का उपयोग कर सकते हैं:

(?:\w+-|\s?x\s?)([^″]+)

अन्यथा "GB-1210" एक चीनी मानक हो सकता है। तो शायद आपके लिए इसका उपयोग करना बहुत अच्छा होगा:

(\d+(?: \d+\/\d+)?)″

इसके अलावा आप माप दिशा पकड़ सकते हैं:

(\d+(?: \d+\/\d+)?)″(\w)

या

(?:\w+-|\s?x\s?)([^″]+)″(\w)
0
Artem Efremov 15 अक्टूबर 2019, 11:46

मान लें कि आपका रेगेक्स इंजन/उपकरण कैप्चर समूहों का समर्थन करता है, तो आप बस अपने वर्तमान दृष्टिकोण के साथ जारी रख सकते हैं:

^.*?\b(\d+(?: \d+\/\d+)?)″W.*?\b(\d+(?: \d+\/\d+)?)″L.*?\b(\d+(?: \d+\/\d+)?)″H.*$

चौड़ाई, ऊंचाई और लंबाई पहले, दूसरे और तीसरे कैप्चर समूहों में उपलब्ध होगी।

डेमो

0
Tim Biegeleisen 15 अक्टूबर 2019, 10:02