问题标签 [overlapping-matches]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
461 浏览

mysql - MySQL - 如何进行自联接以返回重叠的日期范围?

我有一个组织内成员持有的历史职位任期表 (tbl_tenue)。每个职位一次只能由一个人担任,但一个人可以顺序或同时担任多个职位。我想检查该表的完整性,依次获取每个职位任期记录,然后将其与表中的所有其他记录进行比较,以寻找(错误)与同一职位的其他任期重叠。

我编写了一个工作查询(如下),它在通过 test_tenure_id、position_id 以及特定任期的开始和结束日期(见下文)时返回重叠的详细信息。此查询返回tenure_id、member_id、member_sn、date_started、date_ended 和重叠原因。

任何人都可以帮助我使用 sql 现在针对同一个 tbl_tenue 表运行此查询,每次将数据从 tbl_tenue 中的一行传递给它,这样我就可以测试每条记录是否与其他记录重叠(当然除了它本身)并返回数据从记录及其所有重叠?

(我意识到,如果我能做到这一点,那么我应该能够避免使用连接将tenure_id 传递给 WHERE 子句,并且也避免使用连接传递日期,但我看不到如何做到这一点此刻,所以任何帮助都会很好)

下面的查询使用下表,为此问题进行了简化

为了澄清这个问题,我正在寻找的输出是这样的,注意tenure_id 132,其中成员被记录为与自己重叠

0 投票
2 回答
90 浏览

java - 避免在 Java 中的 string.matches() 方法中两次匹配相同的值

好的,我完全重写了这个问题,因为它有效,我想知道它为什么有效。

假设我有一个数字 testNumber,值为 567。

我想知道接下来的两个数字(shouldPassTest 和 shouldFailTest)是否相同,但在不同的 10 位。

所以这里是代码:

当你运行它时会发生什么,每个数字都是从可用数字范围(5、6 和 7)中测试的。从理论上讲,shouldFailTest实际上应该通过测试,因为 7 符合我的三个标准之一,尽管是 3 次。

但是发生的情况是 777 在测试时返回 false。这正是我在代码中想要的结果,但我想知道它为什么会发生。匹配方法是否测试以确保每个数字只匹配一次?

谢谢!

这篇文章经过高度编辑。运行我的代码后,我发现该方法完全符合我的要求,但现在我想知道为什么。谢谢。

0 投票
2 回答
784 浏览

php - 查找字符串中重叠的所有子字符串

嗨,我试图在一个字符串中找到所有重叠的子字符串,这是我的代码,它唯一找到不重复的 ACA。

0 投票
1 回答
25 浏览

java - 如何在 match() 函数 (java) 中正确使用正则表达式?

我正在尝试用Java制作一个接受以下形式的字符串的注册表单:ok@ok.ok,现在,我有 -

我需要它也接受@, _,-,.符号,但不确定如何将它添加到前面显示的正则表达式中。

除此之外,我知道有一种方法可以分开接受一定数量的字符,然后读取特定符号(在我的情况下,电子邮件是“@”和“.”)但我无法实施它,类似于

谢谢

0 投票
1 回答
125 浏览

awk - awk - 打印重叠范围

恐怕我还没有遇到这样做的直接方法,尽管我尝试为类似的场景调整一些提供的解决方案(但不完全满足我的需要)。鉴于此数据:

它已经按第 1 列排序。除了第一行和最后一行,其他所有的间隔都成对重叠。所以我想要一个只有重叠范围的输出:

至少对我来说,这比我乍一看更难。

0 投票
1 回答
190 浏览

php - 如何检查每天的时间跨度冲突?

A类时间:

B类时间:

如何检查两个班级时间冲突

0 投票
2 回答
1973 浏览

r - 查找每个 ID 的重叠日期并为重叠创建一个新行

我想找到每个 ID 的重叠日期,并使用重叠日期创建一个新行,并将字符(char)组合起来。我的数据可能有 >2 个重叠并且需要 >2 个字符组合。例如。风险管理

数据:

我想要的输出:

我尝试过的:我尝试使用以下行从当前行中减去日期 2:

然后确定行之间的重叠:

然后我选择了那些有重叠.final==1 的并将它们放入另一个数据框中,并找到每个 ID 的重叠。

但是,我意识到这太简单了,也有缺陷,因为它只选择顺序发生的重叠(使用第一步中的日期差异)。我需要做的是获取每个 ID 的一系列日期并循环遍历每个组合以确定是否存在重叠,然后,如果有,则记录该开始和结束日期并创建一个新字符“char”,表明是什么在这两个日期期间合并。我想我需要一个循环来做到这一点。

我试图创建一个循环来查找 date1 和 date 2 之间的重叠间隔

但是,这不起作用。

确定重叠间隔后,我需要为每个新的开始日期和结束日期创建新行,并创建一个表示重叠的新字符。

我试图识别重叠的另一个版本的循环:

0 投票
1 回答
89 浏览

python - 如何让这个正则表达式包括重叠的出现,但不要太多:-?

我想得到所有出现的模式 '[number]' 包括它们的上下文,但我不能。

这是我的代码:

究竟有什么问题!?

我的代码在任何情况下都可以按照我的意愿工作,除非有两个 [number] 块之间的字符少于 10 个。我的代码在寻找两个结果时给了我一个结果。如果我将正则表达式设置为包含重叠事件,那么它将给出不同上下文长度的所有结果。我无法专门设置上下文长度,因为我想在字符串的开头和结尾包含出现的次数。

我真正想要的:

我更喜欢纯正则表达式解决方案来让我了解所有提到的模式的出现,包括它们的上下文。

如果真的不可能,我可以使用使用位置并从字符串中选择范围的解决方案。

0 投票
1 回答
224 浏览

ruby-on-rails - 如何检查 Rails 中的时间范围是否重叠?(Airbnb之类的应用程序)

我正在尝试开发类似 Rails 的 Airbnb 应用程序,但由于重叠检查系统而被阻止;当我们检查这个地方是否已经被预订时。这里的困难是我需要检查日期是否重叠以及时间。因为在我的项目中,您只有在需要时才能租用几个小时的地方。

架构:

您是否有想法以干净的方式实施这种重叠检查?

0 投票
2 回答
608 浏览

c# - 如何在 RegEx 中优先考虑重叠模式?

我见过几个类似的问题,甚至是我自己发布的一个,但这是相当具体的。

在正则表达式中有一个匹配模式。现在说在同一个字符串中有两个匹配模式都可以匹配文本。看来我的运气总是倾向于匹配错误模式的正则表达式。(我在 C# 中使用 .Net 正则表达式)

我有两种类型的字符串需要分解:

01 - 第一个值|02 - 第二个值|空白 - 忽略

和:

A - 第一个值空白B - 第二个值C - 第三个值

所以我想要的结果是使用一个模式字符串将代码与含义匹配

我尝试了几种模式,但似乎永远无法完全正确。我能得到的最接近的是:

我的崩溃:

  • [A-Z0-9]{1,4}[ \-–]{1,3}--> 这匹配代码、大写字母或长度为 1 - 4 个字符的数字,后跟 1 到 3 个空格字符、连字符或来自 html 的 mdash。

或者

  • [Bb]lank[ \-–]{0,3}--> 空白后跟 0-3 个字符的空格、连字符或来自 html 的 mdash

然后

  • (([A-Z][a-z]+[.,;| ]?)+)--> 应该匹配任何多个单词,包括可能的空格。所以 First 和 Value,Second 和 Value 应该匹配。

最初的问题是最终模式组与第二个输入字符串中的“Valueblank”匹配。我想以某种方式优先考虑“[Bb]lank”应该作为第一组的一部分进行匹配,而不是第二组的一部分。
我尝试(?![Bb]lank)在 finalgroup 中放置一个否定的前瞻,但它似乎从来没有奏效。任何帮助,将不胜感激。

谢谢

Jaeden "Sifo Dyas" al'Raec 毁灭者