首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于如何查找非贪婪域名的正则表达式

非贪婪域名的正则表达式可以通过以下方式进行查找:

正则表达式:[a-zA-Z0-9-]{1,63}?(?:\.[a-zA-Z]{2,})+

解释:

  • [a-zA-Z0-9-]{1,63}?:匹配域名的每个部分,可以包含字母、数字和连字符,长度为1到63个字符,非贪婪模式。
  • (?:\.[a-zA-Z]{2,})+:匹配域名的顶级域名和其它子域名,以.开头,后面跟着2个或更多字母的顶级域名,可以有多个子域名。

示例: 假设我们要查找非贪婪域名的正则表达式,我们可以使用上述的正则表达式进行匹配。以下是一个示例代码片段,使用Python的re模块进行匹配:

代码语言:txt
复制
import re

text = "www.example.com is a non-greedy domain name. It should match example.com but not example.com.cn"
pattern = r'[a-zA-Z0-9-]{1,63}?(?:\.[a-zA-Z]{2,})+'

matches = re.findall(pattern, text)
print(matches)

输出:

代码语言:txt
复制
['example.com']

在上述示例中,正则表达式成功匹配到了非贪婪域名"example.com",而忽略了"example.com.cn"。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

正则表达式的贪婪和非贪婪模式

最近在写程序时,碰到一个场景,需要找到一个字符串中指定的一个片段,而不是所有片段,这就涉及到正则表达式中贪婪和非贪婪两种模式。 字面意思上,正则表达式一般趋向于最大长度匹配,就是贪婪模式。...匹配到结果就好,就少的匹配字符,就是非贪婪模式。 直接上个例子, String str="abcaxc"; Patter p="ab....默认情况下,正则用的都是贪婪模式,如果要使用非贪婪模式,需要在量词后面直接加上一个问号"?",量词包括如下, (1) {m,n}:m到n个。 (2) *:任意多个。 (3) +:一个到多个。...再上个程序,用贪婪和非贪婪模式找到content中的内容, import java.util.regex.Matcher; import java.util.regex.Pattern; public...root";hello:"word" 非贪婪模式:content:".+?"

2.3K20

盘点Python正则表达式中的贪婪模式和非贪婪模式

一、前言 前几天在Python最强王者交流群有个叫【杰】的粉丝问了一个关于Python正则表达式的问题,其中涉及到Python正则表达式中的贪婪模式和非贪婪模式,讨论十分火热,这里拿出来给大家分享下,一起学习...re.findall(pattern1, txt) result2 = re.findall(pattern2, txt) print(result1) print(result2) 输出结果如下图所示: 关于输出的解析如下...: 我想匹配HTML标签中的数据,也就是之间的数据。...这个就是贪婪模式的匹配方式,那么非贪婪模式呢? 小彩蛋 分享一个【小王】大佬的代码,实现的效果是将正则匹配结果写成命名分组Python代码。...这篇文章基于粉丝提问,针对Python正则表达式中的贪婪模式和非贪婪模式问题,给出了具体说明和演示,顺利的帮助粉丝解决了问题。

86120
  • 全网最易懂的正则表达式教程(8 )- 贪婪模式和非贪婪模式

    正则详细教程系列可以看此链接的文章哦 https://www.cnblogs.com/poloyy/category/1796055.html 前言 学过正则表达式的童鞋肯定都知道贪婪模式和非贪婪模式,...这就要说到我们的贪婪、非贪婪模式了 引入贪婪、非贪婪模式 这两种模式都必须满足匹配次数的要求才能匹配上 贪婪模式,简单说就是尽可能进行最长匹配 非贪婪模式,则会尽可能进行最短匹配 正是这两种模式产生了不同的匹配结果...分析 a* 在匹配开头的 a 时,会尽量匹配更多的 a,直到第一个 b 不满足要求为止,匹配上三个 a,后面每次匹配时都得到空字符串 非贪婪匹配(Lazy) 如何从贪婪模式变成非贪婪模式呢 在量词后面加上...贪婪匹配:匹配上从第一个 " 到最后一个 " 之间的所有内容 非贪婪匹配:找到符合要求的结果 贪婪匹配和非贪婪匹配的区别 ?...独占模式(Possessive) 前提 这一小节基本都搬了《正则表达式入门课》的内容 什么是独占模式 贪婪模式和非贪婪模式,都需要发生回溯才能完成相应的功能 但是在一些场景下,我们不需要回溯,匹配不上返回失败就好了

    7.8K41

    Python正则表达式中的贪婪和非贪婪模式

    贪婪和非贪婪模式 Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符; 非贪婪则相反,总是尝试匹配尽可能少的字符。 在*、?、+、{m,n}后面加上?...使贪婪变成非贪婪。 s = "This is a number 234-235-22-423" r = re.match("....(\d+-\d+-\d+-\d+)", s) r.group(1) # '234-235-22-423' 正则表达式模式中使用到通配字,那它在从左到右的顺序求值时,会尽量“抓取”满足匹配最长字符串,在我们上面的例子里面...+会从字符串的启始处抓取满足模式的最长字符,其中包括我们想得到的第一个整型字段的中的大部分,\d+只需一位字符就可以匹配,所以它匹配了数字4,而....+则匹配了从字符串起始到这个第一位数字4之前的所有字符。

    12410

    如何查找一个域名的子域名记录

    起因是在Cloudflare和DNSPod添加域名时系统会扫描待添加域名的子域解析记录,感觉很神奇。方法一:穷举/使用字典通过穷举N位数的子域,例如从000到zzz,找到部分子域。...不管是穷举还是跑字典,都需要一条条的向DNS服务器请求来获得解析情况。...这个操作除了用软件爆破外还可以通过在线网站完成,百度就能找到不少这类网站,例如:在线子域名扫描-YoungxjTools (yum6.cn)。缺点:如果子域字数多且不在字典里就没法查到了。...方法二:通过查询HTTPS/SSL的证书数据证书授权机构有一个叫证书透明度(Certificate Transparency)的项目,会把每个SSL/TLS证书发布到公共日志中。...通过一些在线工具,即可查出域名子域。例如这个网站:crt.sh | Certificate Search缺点:如果子域名没有申请SSL证书,就没法查到了。ps.

    8.2K10

    正则表达式1.正则表达式概述2.re模块操作3.表示字符4.re模块的高级用法5.贪婪和非贪婪

    \w+)*$ 2 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?...re.split(r":| *","info:xiaoZhang 33 shandong") ['info', 'xiaoZhang', '33', 'shandong'] 5.贪婪和非贪婪...正则表达式匹配的两种模式:贪婪模式、懒惰模式 贪婪模式:从目标字符串的两头开始搜索,一次尽可能多的匹配符合条件的字符串,但是有可能会匹配到不需要的内容,正则表达式中的元字符、量词、范围等都模式是贪婪匹配模式...即可, Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符; 非贪婪则相反,总是尝试匹配尽可能少的字符。 在"*", "?"...,使贪婪变成非贪婪。 re.match(r"erbai(\d+)","erbai521888").group(1) '521888' re.match(r"erbai(\d+?)"

    2K20

    Java正则表达式详解

    Java 提供了功能强大的正则表达式API,在java.util.regex 包下。本教程介绍如何使用正则表达式API。 正则表达式 一个正则表达式是一个用于文本搜索的文本模式。...http:// 是否是一个合法超链接的一部分,如包含域名和后缀(.com,.net 等等)。...代码只是简单的查找字符串 http:// 是否出现。 Java6 中关于正则表达式的API 本教程介绍了Java6 中关于正则表达式的API。...量词匹配分为 饥饿模式,贪婪模式,独占模式。饥饿模式 匹配尽可能少的文本。贪婪模式匹配尽可能多的文本。独占模式匹配尽可能多的文本,甚至导致剩余表达式匹配失败。...*hurt 逻辑操作符 正则表达式支持少量的逻辑运算(与,或,非)。 与操作是默认的,表达式 John ,意味着J 与 o与h与n。 或操作需要显示指定,用 | 表示。

    2.5K00

    java正则表达式http_Java 正则表达式(精华)

    本教程介绍如何使用正则表达式API。 正则表达式 一个正则表达式是一个用于文本搜索的文本模式。换句话说,在文本中搜索出现的模式。例如,你可以用正则表达式搜索网页中的邮箱地址或超链接。...http:// 是否是一个合法超链接的一部分,如包含域名和后缀(.com,.net 等等)。...代码只是简单的查找字符串 http:// 是否出现。 Java6 中关于正则表达式的API 本教程介绍了Java6 中关于正则表达式的API。...如果需要匹配多次出现,甚至输出不同的匹配文本,或者只是需要非默认设置。需要通过Pattern.compile() 方法得到一个Pattern 实例。...*hurt 逻辑操作符 正则表达式支持少量的逻辑运算(与,或,非)。 与操作是默认的,表达式 John ,意味着J 与 o与h与n。 或操作需要显示指定,用 | 表示。

    1.5K10

    利用正则进行爬虫

    应用场景 验证:比如在网站中进行表单提交时,进行用户名及密码的验证 查找:从给定的文本信息中进行快速高效地查找与分析字符串 替换:将我们指定格式的文本进行查找,然后将指定的内容进行替换...如何理解是否保留匹配项 ? 第二种写法就是保留了匹配项 贪婪模式与非贪婪模式 贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为。...:表示匹配的是除去换行符之外的任意字符 问号?:表示匹配0个或者1个 星号*:表示匹配0个或者任意个字符 .*? 非贪婪模式 .* 贪婪模式 看一个例子来比较re模块中两种匹配方式的不同: ?...在上面的非贪婪模式中,使用了问号?...,当匹配到aaaacb已经达到了要求,停止第一次匹配;接下来再开始匹配到ab;再匹配到adceb:所以存在多个匹配结果 在贪婪模式中,程序会找到最长的那个符合要求的字符串 关于正则表达式中贪婪和非贪婪模式的详解

    2.2K10

    Python 自动化指南(繁琐工作自动化)第二版:七、使用正则表达式的模式匹配

    正则表达式是有帮助的,但是很少有非程序员知道它们,即使大多数现代的文本编辑器和文字处理器,如 Microsoft Word 或 OpenOffice,都有查找和查找替换功能,可以基于正则表达式进行搜索。...大括号的非贪婪(也称为惰性)版本匹配尽可能最短的字符串,右大括号后面跟一个问号。...要以一种非贪婪的方式匹配任何和所有文本,使用点、星和问号(.*?)。和大括号一样,问号告诉 Python 以非贪婪的方式进行匹配。...在交互式 Shell 中输入以下内容,查看贪婪版本和非贪婪版本之间的区别: >>> nongreedyRegex = re.compile(r'非贪婪版本的正则表达式中,Python 匹配最短的可能字符串:''。

    6.6K40

    正则 (入门篇)简单来说写好正则表达式的两个要点:写在最后

    如果你对正则感兴趣,读完这篇文章,一定会有收获~_^ 简单来说 正则一般代指正则表达式 正则表达式是从"复杂数据"中抽取"有用数据"的公式 ---- 写好正则表达式的两个要点: 1.正确匹配字符数量(相关符号...image.png 小括号()用来为表达式整体匹配后,"按需提取"(经常和函数group配合使用) 如提取域名中的词组(以简书域名为例) re.match(r".*//.*?\.+(.*?)...image.png 什么是贪婪匹配? 贪婪的总是尝试匹配尽可能多的字符;(大多编程语言的正则默认贪婪) 在*,?,+,{m,n}后面加上?即可使贪婪变成非贪婪....写在最后 正则表达式相当于编程的小九九,背的时候有点恶心,但用起来非常爽!...正则表达式,最早用于唯一标示复杂的神经网络,现可用于"唯一标示"某个字符串,也就是"唯一匹配"字符串 正则表达式使用了大量的特殊字符,这些特殊字符在不同的语境下还会有不同的含义,所以正则的表达式看起来有点像乱码

    72380

    正则表达式 入门

    简介 正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。 许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。...贪婪、非贪婪与独占 正则有三种模式:贪婪匹配、非贪婪匹配和独占模式 贪婪匹配:在正则中,表示次数的量词默认是贪婪的,在贪婪模式下,会尝试尽可能最大长度去匹配。...非贪婪匹配:找出长度最小且满足要求的,量词后面要加上英文的问号(?),正则就变成了 a*?。 举个例子1: ? 匹配结果是:"aaa","" 为什么会匹配到空字符串? 因为星号(*)代表0到多次。...点号通配模式 点号它可以匹配上任何符号,但不能匹配换行,如何匹配真正的“任意”符号 ? 多行匹配模式 多行模式的作用在于,使 ^ 和 $ 能匹配上每行的开头或结尾,我们可以使用模式修饰符号 (?...再比如,去查找一个单词,我们要查找 tom,但其它的单词,比如 tomorrow 中也包含了tom ? 单词边界 ? 环视 举例邮政编码的判断:6位数字,且左边不是数字,右边不是数字 ?

    74430

    【Python爬虫实战】正则:中文匹配与贪婪非贪婪模式详解

    前言 正则表达式是一种强大的工具,可以帮助我们在文本处理中灵活高效地匹配、查找、替换各种字符和字符串模式。...此外,正则表达式中的贪婪和非贪婪模式提供了不同的匹配策略,使我们能够更灵活地控制匹配的长度和范围。...这篇文章将通过一些示例介绍如何使用正则表达式匹配中文字符,以及如何利用贪婪和非贪婪模式进行不同方式的匹配。 一、匹配中文 正则表达式可以用来匹配各种字符,包括中文字符。...二、贪婪与非贪婪模式 在 Python 中,正则表达式的贪婪和非贪婪模式控制了匹配时字符的数量: (一)贪婪模式 贪婪模式会尽可能多地匹配字符,直到整个表达式不再匹配为止。...同时,掌握贪婪和非贪婪模式的差异可以帮助我们在匹配字符时更加精准。在文本解析和数据清理任务中,熟练运用这些正则表达式技巧将为我们带来极大的便利和效率。

    22400

    Python 爬虫必备-正则表达式(re模块)

    有了原生字符串,妈妈也不用担心是不是漏写了反斜杠,写出来的表达式也更直观勒。 贪婪模式和非贪婪模式 正则表达式通常用于在文本中查找匹配的字符串。...Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪则相反,总是尝试匹配尽可能少的字符。在”*”,”?”,”+”,”{m,n}”后面加上?...,使贪婪变成非贪婪。 可参考: python 正则表达式的贪婪匹配与非贪婪匹配 Python Re模块 Python 自带了re模块,它提供了对正则表达式的支持。...下面我们说一下关于match对象的的属性和方法 Match对象是一次匹配的结果,包含了很多关于此次匹配的信息,可以使用Match提供的可读属性或方法来获取这些信息。...我们用一个例子感受一下 12345678 # 将正则表达式编译成Pattern对象pattern = re.compile(r'world')# 使用search()查找匹配的子串,不存在能匹配的子串时将返回

    60630

    《C++11》深入剖析正则表达式库:解锁文本处理的高效之道

    ,确保其包含用户名、"@"符号、域名等必要部分,如前文提到的电子邮件地址正则表达式。...非贪婪匹配在默认情况下,正则表达式中的量词(如*、+、{n,}等)都是贪婪的,它们会尽可能多地匹配字符。但在某些情况下,我们希望进行非贪婪匹配,即尽可能少地匹配字符。这可以通过在量词后面添加一个问号?...>"); // 定义正则表达式,使用非贪婪匹配 std::smatch m; // 用于存储匹配结果 while (std::regex_search(s, m, e)) {...>"中的.*?表示非贪婪匹配任意字符,尽可能少地匹配,直到遇到第一个闭合的尖括号>。这样,我们可以匹配到字符串中的每个单独的HTML标签,而不是贪婪地匹配整个标签及其内部内容。3....但无论如何,掌握C++11正则表达式库无疑将为我们的编程工作增添一份强大的助力,使我们能够更加高效、优雅地解决文本处理相关的问题。

    15710

    正则表达式引发的惨痛代价

    就在做性能测试的时候,我发现有一个提交接口的 TPS 一直上不去,按理说这个业务非常简单,存在性能瓶颈的可能性并不大。 我迅速使用了排除法查找问题。...首先将方法里面的业务代码全部注释,留一个空方法在这里,再看性能如何。这种方式能够很好地区分是框架性能问题,还是业务代码性能问题。 我快速定位到了是业务代码问题,就马上逐一查看代码查找原因。...程序会读取正则表达式的下一个匹配符 c,和字符串中的第四个字符 c 进行比较,结果匹配,结束。 ? 如何避免回溯问题? 既然回溯会给系统带来性能开销,那我们如何应对呢?...我使用了 split() 方法提取域名,并检查请求参数是否符合规定。split() 在匹配分组时遇到特殊字符产生了大量回溯,我当时是在正则表达式后加了一个需要匹配的字符和“+”,解决了这个问题。...减少捕获嵌套 在讲这个方法之前,我先简单介绍下什么是捕获组和非捕获组。 捕获组是指把正则表达式中,子表达式匹配的内容保存到以数字编号或显式命名的数组中,方便后面引用。

    1.9K10
    领券