我希望为域名设置用户输入检查。 我在stackoverflow上找到以下内容检查字符串中的有效域名? 和答案:r'[a-zA-Z \\ d - ] {,63}(。[a-zA-Z \\ d - ] {,63})*'似乎符合我的需要(概念上)但是当我使用re.match和大于63个字符的字符串测试它时,它仍然返回'true'。

当我使用group()测试结果时,它返回前63个字符,这是有道理的。 基于此,有人可以告诉我,我做错了什么? 匹配在这种情况下使用的正确操作还是我还需要做其他事情才能正确测试字符串?

谢谢。

===============>>#1 票数:2 已采纳

你应该根据你的输入锚定它,并确保“。” 真的匹配一个时期。

r'^[a-zA-Z\d-]{,63}(\.[a-zA-Z\d-]{,63})*$'

===============>>#2 票数:0

你可以试试这个:

^[a-z0-9]([a-z0-9-]+\.){1,}[a-z0-9]+\Z

例子:

  • w3.example.com [匹配]
  • example.com [匹配]
  • w3.site-example.com [匹配]
  • -w3.example.com [不匹配]
  • example.buzz [匹配]
  • .com [不匹配]
  • EXAMPLE.com [不匹配]

  ask by user788462 translate from so

未解决问题?本站智能推荐:

1回复

Python正则表达式域名

我试图从字符串中提取以https或http开头的以.com结尾的多个域名。 字符串是: 我创建了如下模式: 我不确定如何完成它。 我想返回所有以http或Https开头且仅以.com结尾的域的列表。 因此,输出中没有.co.uk域。 我尝试在中间使用(.*)表示字符的无限组合,但现在确
1回复

Python域名正则表达式模式

我希望能够通过遵循以下规则来匹配域: 域名应该是az | AZ | 0-9和连字符(-) 域名长度应在1到63个字符之间 最后一个Tld必须至少两个字符,最多6个字符 域名不得以连字符(-)开头或结尾(例如-google.com或google-.com)
2回复

Python域名列表正则表达式

我希望使用python获取给定字符串中的所有域名。 我已经尝试了以下内容,但未达到预期的O / P 我希望输出为: 但是我得到的是: 我想念什么?
5回复

用于域名的python正则表达式

我正在尝试使用以下正则表达式从文本中提取域名,但它只是产生什么,它有什么问题? 我不知道这是否适合问这个“修复代码”问题,也许我应该阅读更多。 我只想节省一些时间。 谢谢 我希望输出为google.com
3回复

如何使用python正确检查此正则表达式

我正在尝试检查输入是否采用以下模式: MH12 以两位数字开头为MH,然后以两位数字开头为任意数字,而完整字符串应仅是4位数字。 所以厌倦了regex = r'^[MH]\\d{2}.{,4}$' 汇入 但是上面的程序即使对于输入= MH12也显示无效的Office代码。
3回复

Python:使用正则表达式检查str

我需要编写func来检查str。 如果适合下一个条件: 1)str应以字母开头 - ^[a-zA-Z] 2)str应包含字母,数字,。 和 - ([\\w]+*.-) 3)str应以字母或数字结尾 - \\w$ 4)str的长度应为10至50 它会向所有组合返
1回复

使用Python的正则表达式

我正在尝试捕获从特定URL,特定值下载但没有成功的模式。 模式的一部分是: 我想用文件中的特定值捕获Title和第一个<td>McCartney</td>并将其打印为JSON文件。 我可以在正则表达式的FOR循环中运行吗? 我如何使用python做到这一
1回复

使用正则表达式的Python 3

我需要查看一个字符串,然后使用正则表达式来将数据存储在变量中 这是一个字符串的示例:我必须存储以下数据: 到目前为止,我可以存储第一个符号的日期和时间以及第一个数字,但是我不知道如何遍历字符串的其余部分并存储数字
3回复

如何使用python正则表达式删除忽略www。 并只提供域名?

我正在尝试创建一个正则表达式过滤器,用于清理由python脚本处理的域。 这些域可能只是常规域名 something.com,some.something.com 或者可以有一个网址结构 https://some.something.com 或者可以有w
2回复

Python正则表达式删除字符串中的URL和域名

我正在寻找一个正则表达式来从字符串中删除每个URL或域名,以便: 变 对于我来说,删除最常见的顶级域名就足够了,因此我尝试了 但这会删除过多的内容,而不仅仅是网址。 正确的语法是什么?