मैं इस regex जब मैं PHP में इसका परीक्षण काम कर रहा है, लेकिन यह उद्देश्य सी में काम नहीं करता है:उद्देश्य सी (NSRegularExpression) में नियमित अभिव्यक्ति कैसे लिखें?
(?:www\.)?((?!-)[a-zA-Z0-9-]{2,63}(?<!-))\.?((?:[a-zA-Z0-9]{2,})?(?:\.[a-zA-Z0-9]{2,})?)
मैं बच पात्रों भागने की कोशिश की लेकिन है कि या तो मदद नहीं करता है। क्या मुझे किसी अन्य चरित्र से बचना चाहिए?
इस उद्देश्य सी में मेरी कोड है:
NSMutableString *searchedString = [NSMutableString stringWithString:@"domain-name.tld.tld2"];
NSError* error = nil;
NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:@"(?:www\\.)?((?!-)[a-zA-Z0-9-]{2,63}(?<!-))\\.?((?:[a-zA-Z0-9]{2,})?(?:\\.[a-zA-Z0-9]{2,})?)" options:0 error:&error];
NSArray* matches = [regex matchesInString:searchedString options:0 range:NSMakeRange(0, [searchedString length])];
for (NSTextCheckingResult* match in matches)
{
NSString* matchText = [searchedString substringWithRange:[match range]];
NSLog(@"match: %@", matchText);
}
- अद्यतन -
इस regex रिटर्न (PHP में) मूल्यों के साथ "डोमेन नाम" और "tld.tld2" सरणी लेकिन उद्देश्य सी में मैं केवल एक ही मूल्य प्राप्त: "डोमेन-name.tld.tld2"
- अद्यतन 2 -
इस regex अर्क 'डोमेन नाम' और 'टीएलडी' स्ट्रिंग से:
- domain.com = (डोमेन, कॉम)
- domain.co.uk = (डोमेन, co.uk)
- -Test-domain.co.u = (परीक्षण डोमेन, सह)
- -Test-domain.co.uk- = (परीक्षण डोमेन, co.uk)
- -test-domain.co.uk = (परीक्षण डोमेन, सह)
- -Test-domain.co- एम = (परीक्षण-डोमेन)
- -test-domain-.co.uk = (परीक्षण-डोमेन)
यह मान्य डोमेन नाम लेता है (शुरू नहीं होता है या '-' और 2 से 63 अक्षरों के बीच समाप्त नहीं होता है), और यदि टीएलडी के दो हिस्सों तक मान्य होते हैं तो भागों को मान्य किया जाता है (कम से कम दो अक्षर लंबे अक्षरों वाले होते हैं और संख्या)
आशा है कि यह स्पष्टीकरण मदद करता है।
ईमेल सत्यापन? – Hiren
शायद यह मदद करता है? http://stackoverflow.com/questions/5478170/regular-expression-in-ios – dom
मुझे लगता है कि डिनो पूछ रहा है कि मौजूदा रेगेक्स को ObjectiveC कोड में कैसे परिवर्तित करें। इससे कोई फर्क नहीं पड़ता कि रेगेक्स क्या करता है। –