2010-03-16 34 views
5

मैं regex का उपयोग कर 2 पैटर्न की जांच करना चाहता हूँ। (| CONDITION2) हालत की तरह अगर (CONDITION1)क्या हम जावा में रेगेक्स का उपयोग करके कई पैटर्न देख सकते हैं?

मैं उन दोनों एक ही समय में पैटर्न देख सकते हैं।

कोई विचार?

+1

क्या आप अधिक विशिष्ट हो सकते हैं? – Jeremy

उत्तर

12

आप, यह वास्तव में जिस तरह से तुमने किया क्या कर सकते हैं पाइप दो + भाव

उदाहरण के लिए अलग से: नियमित expresion (abc)|(def) से मेल खाएंगे abc या def

+0

क्या आप मुझे सिंटैक्स plz भेज सकते हैं .. – Praveen

+3

यह वाक्यविन्यास है। नियमित अभिव्यक्ति 'pattern1 | pattern2' का अर्थ है "मिलान पैटर्न 1 या पैटर्न 2"। – Cascabel

4

यह वास्तव में निर्भर करता है - अर्थात्, आप डिज़ाइन कर सकते हैं अपने इस "(match this)|(or this)" जैसे "या" संशोधक के साथ regex। यदि आप ध्यान से डिज़ाइन किए गए रेगेक्स का उपयोग करते हैं, तो आपको केवल यह करने की आवश्यकता है:

Pattern p1 = Pattern.compile(regex) 
Matcher m = p1.matcher(searchstring) 

एक बार। यह चीजों के बारे में जाने का शायद सबसे प्रभावी तरीका है। दूसरा विकल्प दो मैचर/पैटर्न ऑब्जेक्ट जोड़े को चलाने के लिए है, find संचालन चलाएं find आउटपुट की संख्या की गणना करने से झूठी रिटर्न। यदि वे दोनों हैं> 0 आप व्यवसाय में हैं। दूसरा विकल्प यह है कि यदि आपको केवल एक या अधिक मैचों की आवश्यकता है, तो

if (matcher1.find() & matcher2.find()) 
{ 
    ... 
} 
संबंधित मुद्दे