मैंने जावा में इस रेगेक्स की कोशिश की:

Pattern orderCheck = Pattern.compile("^([\\-\\+])?(created|title|price|creation)$", Pattern.CASE_INSENSITIVE);
orderCheck.matcher(value).matches();

और अजीब तरह से:

  • बनाया गया : काम करता है
  • -निर्मित : कार्य करता है
  • +बनाया : काम नहीं करता
  • शीर्षक: काम करता है
  • -शीर्षक : काम करता है
  • +शीर्षक : काम नहीं करता
  • आदि..

+ परिणाम रेगेक्स के गैर सत्यापन के रूप में, लेकिन मुझे समझ में नहीं आता कि क्यों।

इस ऑनलाइन रेगेक्स टेस्टर का उपयोग करके, यह सभी मूल्यों के लिए पूरी तरह से काम करता है!

मैं भी इस प्रकार की कोशिश की, लेकिन असफल:

  • ^[\-\+]?(बनाया गया|शीर्षक|कीमत|निर्माण)$
  • ^[-+]?(बनाया गया|शीर्षक|कीमत|निर्माण)$
  • ^(-+)?(बनाया गया|शीर्षक|कीमत|निर्माण)$
  • ^(-|+)?(बनाया गया|शीर्षक|कीमत|निर्माण)$
  • ^[-|+]?(बनाया गया|शीर्षक|कीमत|निर्माण)$
  • ^(\-|\+)?(बनाया गया|शीर्षक|कीमत|निर्माण)$

मेरी जरूरत के लिए सही रेगेक्स क्या है? मैं नहीं देख सकता कि मैं कहाँ गलत हूँ: /

आपकी सहायताके लिए धन्यवाद!

0
Cyril N. 20 फरवरी 2012, 19:49
1
आपका पैटर्न मेरे लिए काम करता है। आप इसका परीक्षण कैसे कर रहे हैं?
 – 
Ismail Badawi
20 फरवरी 2012, 19:58
- से बचें और इसे काम करना चाहिए।
 – 
Bartosz Grzybowski
20 फरवरी 2012, 20:00
2
इसबदावी की तरह, मुझे लगता है कि आपका पैटर्न ठीक काम करता है (हालाँकि - और + पर बैकस्लैश की वास्तव में आवश्यकता नहीं है)। मैं शर्त लगा रहा हूँ कि orderCheck.matcher(value) वास्तव में उस + से शुरू नहीं होता जो आपको लगता है कि यह करता है। हो सकता है कि यह URL से बचकर %2B पर जा रहा हो? या हो सकता है de-URL-एस्केप, स्पेस में?
 – 
ruakh
20 फरवरी 2012, 20:00
1
@BartoszGrzybowski: - है बच निकला। यह जावा है; बैकस्लैश-प्रोसेसिंग के पहले पास के बाद, ओपी का कोड एक रेगेक्स ^([\-\+])?(created|title|price|creation)$ बनाता है।
 – 
ruakh
20 फरवरी 2012, 20:01
आप सही ruakh हैं, समस्या "+" है जो url में बच गई है!
 – 
Cyril N.
20 फरवरी 2012, 20:06

1 उत्तर

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

यह काम करता हैं। हो सकता है कि आप अपने मूल्य के अंत/शुरुआत में एक स्पेस चार भूल गए हों? आपका पैटर्न ठीक लगता है। शायद ब्रेक लेने और पहले कुछ घंटों के लिए बिस्तर पर जाने की आवश्यकता है: ओ)

test res

1
Erhan Bagdemir 20 फरवरी 2012, 20:00