首页
学习
活动
专区
工具
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.2K20

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

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

84620

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

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

6.9K41

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之前所有字符。

9710

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

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

7.9K10

正则表达式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+?)"

1.9K20

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

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

1.4K10

Java正则表达式详解

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

2.5K00

利用正则进行爬虫

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

2.2K10

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

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

62180

正则表达式 入门

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

73030

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

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

57830

Python Re 正则表达式 数据匹配提取 基本使用

匹配0次或1次,贪婪 a I b 匹配a或b { n} 匹配n次 { n, m} 匹配n-m次 (表达式) 对正则表达式分组并记住匹配文本,常用 [0-9] 匹配任何数字 \d 匹配任意数字,等价于...\S 匹配任意空字符 \D 匹配任意数字 re.S flags参数,使 “.”..., string=str_text, flags=re.S) # 贪婪 print(result.group()) # I am xiaozhou1 !...repl : 替换字符串,也可为一个函数。 string : 要被查找替换原始字符串。 count : 模式匹配后替换最大次数,默认 0 表示替换所有的匹配。...本文仅仅简单介绍了re使用,而re提供了大量能使我们快速便捷地处理数据函数和方法,后续有关于re常用代码会在这篇博客中持续更新。

1K10

正则表达式引发惨痛代价

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

1.8K10
领券