问题标签 [pattern-matching]

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 投票
5 回答
24911 浏览

scala - 范围可以在 Scala 中匹配吗?

是否可以匹配 Scala 中的一系列值?

例如:

m如果介于 0 和 10 之间,true则为t假,否则为假。这一点当然行不通,但是有没有办法实现类似的目标?

0 投票
1 回答
4899 浏览

performance - Scala列表递归性能

这个问题是关于 Scala 使用列表进行模式匹配和递归的方式及其性能。

如果我有一个在列表上递归的函数,并且我通过匹配一个缺点来做到这一点,例如:

在哈斯克尔:

我使用的语义与我使用的语义相同,例如 Haskell。我认为 Haskell 实现不会有任何问题,因为这只是您处理列表的方式。对于一个很长的列表(我会在一个有几千个节点的列表上操作),Haskell 不会眨眼(我想虽然;我从未尝试过)。

但是根据我对 Scala 的理解,match 语句将调用 unapply 提取器方法来拆分列表周围的缺点,并将示例扩展为对列表不执行任何操作的函数:

在哈斯克尔:

它将调用应用提取器方法将其重新组合在一起。对于一长串我想这将是非常昂贵的。

为了说明,在我的特定情况下,我想递归一个字符列表并积累各种东西,其中输入字符串最多可达几十千字节。

如果我想递归一个长列表,我真的会为递归的每个步骤调用构造函数和提取器吗?还是有优化?或者更好的方法来做到这一点?在这种情况下,我需要几个累加器变量,显然我不会只是在一个列表上递归什么都不做......

(请原谅我的 Haskell,我已经两年没有写过一行了。)

(是的,我要进行尾递归。)

0 投票
2 回答
73 浏览

php - 如何匹配这种类型的建筑?

我正在做解析,我想匹配的文本类型然后使其为空如下: -

我想匹配包含的每一行 "<tr class="label-BGC"><td colspan="4">any text</td></tr>"

晚上到了,我的脑电池完全没电了

我想做的是:-

$parsed 包含我正在解析的全部数据。

我的代码不起作用,任何人都可以在这里给我一些建议!!!

0 投票
9 回答
27908 浏览

algorithm - 如何检测字符串列表中的常见子字符串

给定一组字符串,例如:

我希望能够检测到这些是三组文件:

  • 整个S[1,2]
  • J27[红,绿]P[1,2]
  • 日志P[1,2][红、绿、蓝]

是否有任何已知的方法来解决这个问题 - 我可以阅读任何已发表的论文?

我正在考虑的方法是为每个字符串查看所有其他字符串并找到常见字符以及不同字符的位置,试图找到最有共同点的字符串集,但我担心这不是很有效并且可能会给出误报。

请注意,这与“如何检测文件名中的常见字符串组”不同,因为它假定字符串后面总是有一系列数字。

0 投票
4 回答
6423 浏览

sql - SQL 查询 - 左 1 = char,右 3-5 = 名称中的数字

我需要过滤掉 SQL (SQL Server 2008) 表中的垃圾数据。我需要找出这些记录,然后把它们拿出来。

  • 字符[0] = A..Z, a..z
  • 字符[1] = 0..9
  • 字符[2] = 0..9
  • 字符[3] = 0..9
  • 字符[4] = 0..9

{不允许有空格}

基本上,干净的记录将如下所示:

  • T1234、U2468、K123、P50054(4 个记录示例)

垃圾数据如下所示:

  • T12..、.T12、MARK、TP1、SP2、BFGL、BFPL(7 个记录示例)

有人可以协助使用 SQL 查询来执行 LEFT 和 RIGHT 方法并提取这些字符,然后执行 LIKE IN 或其他操作吗?

一个功能会很棒!

0 投票
2 回答
22598 浏览

c - 如何使用 PCRE 获取所有匹配组?

我对使用 C 没有经验,我需要使用 PCRE 来获取匹配项。
这是我的源代码示例:

在这个演示中,输出只有:

0: From:regular.expressions@example.com
1: regular.expressions
2: example.com

我想输出所有的比赛;我怎样才能做到这一点?

0 投票
7 回答
12175 浏览

sql - 如何转义字符串以与 SQL Server 中的 LIKE 运算符一起使用?

我正在寻找在 SQL Server 中工作的东西,类似于@c# 中的符号,这会导致字符串被视为文字。例如:

请注意 @ 如何影响字符串以按原样获取每个字符。

现在我不确定这是可能的,但这是我的问题,也许有更好的方法来解决这个问题。考虑以下基本查询:

我的问题是他们是否放置了一个%,_或任何其他可能影响我的 like 子句的特殊字符。我希望比赛就像一个“开始于”功能。那么有什么我可以应用到@searchText 来说明这个字面意思,或者是否有更好的解决方案我没有想到?

编辑:我不希望解决方案是客户端清洁。我需要这个存储过程在不依赖于被清理的数据的情况下工作。

0 投票
4 回答
1765 浏览

regex - 大括号内内容的正则表达式

是否有正则表达式来匹配大括号内的内容。例如以下内容:

我想匹配{'key': {'a': [1,2,3]}}{'a': [1,2,3]},但不是{'key': {'a' :[1,2,3]}

0 投票
7 回答
74857 浏览

sql-server - 将 SQL LIKE 运算符与 %% 一起使用

我需要在SQL Server中创建一个查询,其中搜索条件将根据用户输入包含/排除一个表。

假设我有两个表,TABLE_ATABLE_B带有列KEYCOLUMN_ACOLUMN_AinTABLE_A和列FKCOLUMN_BCOLUMN_Bin TABLE_B

像这样的查询:

现在如果用户不输入SEARCH2,我不需要搜索TABLE_B。但这意味着一个IF ELSE条款。并且随着查询中“可选”表数量的增加,排列和组合也会增加,并且会有很多IFELSE语句。

相反,我决定保持原样。因此,如果SEARCH2为空,则查询将有效地变为:

SQL 优化器能否认识到这LIKE %%与删除条件本身一样好?

0 投票
2 回答
553 浏览

syntax - “match ... true -> foo | false -> bar”在 Ocaml 中是否有特殊含义?

我在阅读代码的整个 Ocaml 项目的各个地方都遇到了以下构造。

乍一看,它就像通常的if声明一样工作。乍一看,它.. 像往常一样工作if!乍一看,我决定问 SO。if这个结构与特殊情况下重要的陈述是否有特殊含义或细微差别?