2013-01-11 7 views
13

मुझे ऐसा सत्यापन चाहिए कि मेरी स्ट्रिंग में कम-से-कम एक वर्णमाला होनी चाहिए।यह जांचने के लिए कि क्या स्ट्रिंग में जावा में कम से कम एक वर्णमाला है या नहीं?

मैं उपयोग कर रहा हूँ निम्नलिखित:

String s = "111a11"; 
boolean flag = s.matches("%[a-zA-Z]%"); 

झंडा मुझे false देता है, भले ही a मेरी स्ट्रिंग s

+6

% का उपयोग न करें। यह एसक्यूएल की तरह है, regexp नहीं। इसके बजाय '। *' का उपयोग करें तो बस 's.matches ("। * [A-zA-Z]। * ");' – ppeterka

उत्तर

15

नियमित अभिव्यक्ति आप चाहते हैं [a-zA-Z] है में है, लेकिन आप find() विधि का उपयोग करने की जरूरत है।

यह पृष्ठ आपको इनपुट के खिलाफ नियमित अभिव्यक्तियों का परीक्षण करने देगा।

Regular Expression Test Page

और यहां आप एक जावा रेगुलर एक्सप्रेशन ट्यूटोरियल है।

Java Regular Expressions tutorial

+2

+1 ढूंढने के लिए +1), मैं ऑनलाइन रेगेक्स परीक्षक के लिए एक और +1 दूंगा। .. – ppeterka

+2

यदि आप अन्य भाषाओं पर विचार करते हैं, तो आप 'बूलियन एम = str.matches ("। * [\\ p {एल}] +। *]") ' – dragos2

52

आप String.matches() विधि के साथ .*[a-zA-Z]+.* उपयोग कर सकते हैं।

boolean atleastOneAlpha = s.matches(".*[a-zA-Z]+.*"); 
+0

का उपयोग कर सकते हैं, हम न्यूनतम और वर्णों की अधिकतम संख्या जांच सकते हैं यह regex? –

+1

आप इसके लिए एक प्रश्न पोस्ट करते हैं। –

संबंधित मुद्दे

 संबंधित मुद्दे