तो, मैं इस डोमेन नाम नियमित अभिव्यक्ति पर काम कर रहा हूं। अब तक, ऐसा लगता है कि एसएलडी और टीएलडी (वैकल्पिक सीसीटीएलडी के साथ) के साथ डोमेन नाम चुनते हैं, लेकिन टीएलडी लिस्टिंग का दोहराव है। क्या इसे आगे फिर से किया जा सकता है?क्या मैं वैध डोमेन नामों के लिए इस रेगेक्स चेक को बेहतर बना सकता हूं?
params[:domain_name].downcase.strip.match(/^[a-z0-9\-]{2,63}
\.((a[cdefgilmnoqrstuwxz]|aero|arpa)|(b[abdefghijmnorstvwyz]|biz)|
(c[acdfghiklmnorsuvxyz]|cat|com|coop)|d[ejkmoz]|(e[ceghrstu]|edu)|f[ijkmor]|
(g[abdefghilmnpqrstuwy]|gov)|h[kmnrtu]|(i[delmnoqrst]|info|int)|
(j[emop]|jobs)|k[eghimnprwyz]|l[abcikrstuvy]|
(m[acdghklmnopqrstuvwxyz]|me|mil|mobi|museum)|(n[acefgilopruz]|name|net)|(om|org)|
(p[aefghklmnrstwy]|pro)|qa|r[eouw]|s[abcdeghijklmnortvyz]|
(t[cdfghjklmnoprtvwz]|travel)|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw])
(\.((a[cdefgilmnoqrstuwxz]|aero|arpa)|(b[abdefghijmnorstvwyz]|biz)|
(c[acdfghiklmnorsuvxyz]|cat|com|coop)|d[ejkmoz]|(e[ceghrstu]|edu)|f[ijkmor]|
(g[abdefghilmnpqrstuwy]|gov)|h[kmnrtu]|(i[delmnoqrst]|info|int)|
(j[emop]|jobs)|k[eghimnprwyz]|l[abcikrstuvy]|
m[acdghklmnopqrstuvwxyz]|mil|mobi|museum)|
(n[acefgilopruz]|name|net)|(om|org)|
(p[aefghklmnrstwy]|pro)|qa|r[eouw]|s[abcdeghijklmnortvyz]|
(t[cdfghjklmnoprtvwz]|travel)|u[agkmsyz]|v[aceginu]|w[fs]|y[etu]|z[amw]))?$/)
ऐसे डोमेन के लिए आपका उपयोग केस क्या है जिसे नए डोमेन बनाए जाने पर बनाए रखने की आवश्यकता है? – mark
चूंकि सभी उत्तर टीएलडी को देखने के अन्य तरीकों को देने के लिए प्रतीत होते हैं, इसलिए मैं भविष्य में नकल से बचने के लिए इस प्रश्न का नाम बदलने का प्रस्ताव करता हूं (जब तक कि लोग वास्तव में रिफैक्टरिंग प्रश्न का उत्तर देना शुरू नहीं करते) – TheSoftwareJedi
अच्छा विचार - यह वास्तव में एक regexp समस्या नहीं है। – Alnitak