- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试提取一些与指定的 8 位地址范围匹配的数据。
例如,如果我想捕获 A0000000 和 A0003CFF 之间的所有字符串,由于字符类定义导致字符序列 A000[0000-3CFF] 不起作用,然后我需要编写以下模式:
[0-2][0-F][0-F][0-F]|3[0-B][0-F][0-F]|3C[0-F][0-F]
这将匹配 0000--2FFFF
之间的所有帧或 3000-3BFFF
或 3C00 3CFF
.
这种模式对于给定范围来说确实是特定的,在我的限制之间有给定的相同部分(在我的示例中,它是 4 个常见数字 A000)
但是,如果事先知道地址范围或公共(public)部分,但可以自由选择,我如何才能将其转换为更通用的解决方案?
正则表达式中是否存在捕获此问题的简单方法?
感谢帮助
[编辑] :谢谢大家的回答,绝对有帮助。正如我猜测的那样,没有简单的方法可以通过使用正则表达式来完成,并且需要/更容易进行数字比较。实际上,由于我在解释我的第一个想法时遇到了一些困难,所以我提出了十六进制示例,因为它是数字\d 和字母数字\w 字符的混合,我告诉自己我可以将解决方案扩展到字母 [F-Z] 如果解决方案作为正则表达式出现。但是我根本没有想到你会使用十六进制函数来转换它,因为我一直在寻找正则表达式!对于我的错误解释,我深表歉意。
但是您的解决方案仍然非常有用,因为我刚刚通过将十六进制转换函数替换为自定义函数来实现一些工作,我将所有字符都转换为 [0-9]
和 [A-Z]
到它们的 ASCII 值和一些加权系数(例如 GV03 必须大于 G0V3)。再次感谢大家的帮助!!
最佳答案
调查以下代码是否符合您的要求
use strict;
use warnings;
use feature 'say';
my @range = qw(A0000000 A0003CFF);
my $match = qr/(A000([\d[a-f]){4})/i;
@range = map { hex } @range;
while( <DATA> ) {
chomp;
if( /$match/ ) {
my $n = hex($1);
say if $n >= $range[0] && $n <= $range[1];
}
}
__DATA__
This number is A0000000 must be printed
But B0001234 should not be printed
Again A0001CCF must be printed
Once more A0002FFF must be printed
But C0010000 should not be printed
输出
This number is A0000000 must be printed
Again A0001CCF must be printed
Once more A0002FFF must be printed
关于regex - Perl正则表达式间隔匹配对应于十六进制数的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63620567/
我试图根据表格看起来像这样的状态代码来查找表格中的空白。 状态表: StateID (PK) | Code -------------------- 1 | AK 2
我有一个配对字符串列表。我想找到两个字母之间的长度/间隔。到目前为止,我可以使用找到有序字母的间隔 alpha =["AM", "KQ", "ZN", "XM", "UK"] leng
我有一个配对字符串列表。我想找到两个字母之间的长度/间隔。到目前为止,我可以使用找到有序字母的间隔 alpha =["AM", "KQ", "ZN", "XM", "UK"] leng
我正在努力弄清楚如何将时间选择器的下拉间隔设置为 15 分钟间隔。默认为 30 分钟 atm。让它工作的正确调用/符号是什么?我已经尝试了很多将它们放入 '' 的变体,但没有任何进展。谢谢! $
假设我有 table teach_subject(teacher_id, subject_id, min_grade_of_school, max_grade_of_school, color_in_
我有下面的图像,我试图以 3 秒的间隔一张一张地显示它们,但我无法让它工作。它继续停留在 0 并且不显示图像,帮助会很好: JavaScript: window.animate = functio
我认为这个问题类似于加权间隔调度问题,但略有不同。 假设您有一个具有开始时间和结束时间的类次 s,该类次从 s.start 开始有 n 个空位到s.end。时隙是从 s.start 到 s.end 的
我试图将一个 GeometryReader 作为按钮推到屏幕底部,但 Spacer 在这里不起作用...... 这个想法是让应用程序响应所有屏幕尺寸。 VStack { GeometryRea
我问了一个相关问题 here但意识到我在计算这个复杂的度量时花费了太多时间(目标是与随机化测试一起使用,所以速度是一个问题)。所以我决定放弃权重,只使用两个度量之间的最小距离。所以这里我有 2 个向量
我最近成立 healthcheck s 在我的 docker-compose配置。 它做得很好,我喜欢它。下面是一个典型的例子: services: app: healthcheck:
我正在 Cocoa 中使用如下设置的 NSTimer 运行 mainLoop: mainLoopTimer = [NSTimer scheduledTimerWithTimeInter
目前正在开发家庭自动化应用程序,其中有事件 API 可以在事件被触发时为我提供事件。但我想持续运行 API,以便跟踪在整个应用程序中触发的事件。还有一个主页,我在其中显示曾经发生的事件。它是一个简单的
我有一个查询应该是这样的要求: { "size": 0, "_source": [ "dateCreated" ], "query": { "bool": {
我有一个 UNIX 格式的时间字符串。我需要将该字符串四舍五入到最接近的 30 分钟间隔。 例如:我的时间是上午 9:20,而不是应该四舍五入到上午 9:30。 如果分钟数大于 30,例如上午 9:4
我有网络调用,我想定期调用它。我只想将运算符 Interval 与 flatMap 一起使用,但在间隔线程上。你能解释一下这种情况吗?我知道Interval只使用一个线程,任务是按顺序处理的。 我有
我在我的 iOS 应用程序中使用了 NSTimer,但由于 SetNeedsDisplay,我没有得到我想要的结果。 我做了一些研究并找到了 CADisplayLink,它为我提供了我想要的动画结果。
我需要通过给出值数组来生成 map 上图例的值。Java 库中是否有函数可以从值数组和计数值生成范围或区间?像这样的东西: Integer[] getIntervals(Number[] values
我的函数中有以下代码,我试图从数据库中获取参数MAX_FAILED_ATTEMPT,并且基于此,如果检查失败,我将发送警报。当前代码将尝试从 MAX_FIELD_ATTEMPT 获取值并立即依次进行检
我在这里要做的是像 Windows XP 上的那样放下一个轨迹栏来更改分辨率:( http://puu.sh/7Li5h.png ) 我想设置特定的间隔/增量值,如上图所示。目前,实际栏下方的线条已经
是否可以停止当前作为 setInterval 运行的函数? 这是我的代码: 这是我调用的函数 function pull_light_status (lights_array) { $.get
我是一名优秀的程序员,十分优秀!