【发布时间】:2019-10-22 20:42:16
【问题描述】:
我正在尝试使用正则表达式(来自 Javascript)来验证域名列表。例如,如果用户输入:
facebook.com
*.com
apple.com
... 正则表达式应该验证正常。然而,
facebook.com
clearlynotadomainname
apple.com
...应该验证失败。
我正在使用这个正则表达式:
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$
这适用于第一行文本,但一旦用户输入第一个 CR/LF,表达式就会失败。是否可以让正则表达式遍历或解析字符串中的所有行?
【问题讨论】:
-
问题很不清楚..您的有效-无效示例不够充分nd r模棱两可
-
在第一个示例中,所有三行都是有效的域名。在第二个示例中,第 1 行和第 3 行是有效域,而第 2 行不是域名。正则表达式捕获单行,但不捕获多行。这更清楚了吗?
-
您是否尝试过使用修饰符 g 或 m? ^ 用于定义字符串的开头,$ 用于定义字符串的结尾...
-
Daan 下面的解决方案对我有用 - 无论如何感谢@ChaosClown!一定要爱那些在拼错“your”和“are”时抱怨清晰度的人......
标签: regex