问题标签 [alternation]

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 回答
128 浏览

regex - 正则表达式替换可选替换

我想让将 Objective-C 翻译成 Swift 的生活变得更轻松;我目前正在编写一个程序,它将匹配某些常用的构造(例如方法、属性和变量)并将它们替换为 Swift 版本。现在我正在尝试将方法名称前面的 +/- 替换为classif+或 nothing if -

我似乎无法找到如何使交替(\+|-)被替换为class或者基于选择。这在纯正则表达式中可能吗?还是我需要把它放在我的应用程序逻辑中?

编辑:预期的输入和输出:

- (void)composeView(...)func composeView(...)

+ (void)composeView(...)class func composeView(...)

0 投票
1 回答
989 浏览

scala - Scala解析器组合器:解析整数或浮点数

编辑:已解决,请参阅下面的“修复”

我正在尝试设置一个 scala 解析器组合器来解析浮点数或整数,具体取决于数字的复杂性。这是我目前拥有的:

我设置了 scalatest 来测试整数和浮点解析器,它们都可以工作。这是我的测试类的样子:

IntegerLiteral和测试都FloatLiteral可以完美运行。如您所见,我想将数字解析为 anIntegerLiteral或 FloatLiteral,具体取决于它是否可以解析为 int 或 float。测试中的第一行NumberLiteral有效,但是第二行出现以下错误:java.lang.RuntimeException: no result when parsing failed. 我无法弄清楚为什么解析器会抛出这个错误,因为浮点解析器可以解析32.3。我在数字解析器中做错了integer | float什么吗?

0 投票
1 回答
598 浏览

wpf - WPF 交替和选定的背景颜色不能一起工作

我在 ListViewItem 中与交替样式和选定的行背景颜色样式作斗争。我可以让它们单独工作,但它们一起不起作用。也许有人知道问题?

代码:

......

0 投票
1 回答
42 浏览

regex - 如何使用 grep 在相同的固定长度文本部分中检索两个模式?

我正在尝试使用 grep 从文件中提取信息并在相关事件之间建立联系。例如,我的文件可能包含以下重复模式:

我希望能够对 Section 进行 grep 并抓取Info1Info2. 我尝试使用 OR 模式,即 ,Info1\|Info2但这会以随机顺序排列所有Info1内容Info2。我希望Info1Info2每个部分一起检索。

所有部分的长度相同。Info1和之间总是有固定数量的行Info2。所需的输出是:

其中连续Info1/ Info2s 来自同一部分任何想法如何做到这一点?

0 投票
1 回答
189 浏览

javascript - 交替重复倒计时 - html - javascript

显然,这个问题有多个部分:一个是倒计时,一个是交替显示。我想要一个周末倒计时(星期六 00:00),在周末它会显示一个倒计时到周末结束(星期一 00:00)

所以首先倒计时:我可以看到的方式是进入倒计时站点,然后使用它就会在那里,唯一的问题是这不适合背景,你必须滚动。所以你必须使用另一种方法。

其次,交替:我对此没有太多想法,但我必须想一些事情,否则这不是主题。所以如果我想让这个改变两次。我可以将倒计时设为变量 (x),然后您将测试 x 是否为 0,然后在 y 上加一,当它是奇数时,显示 5 天倒计时(432000 秒),然后当它是偶数时显示2 天倒计时(172800 秒)所以这是我(可能失败)的尝试:

我不知道这是否正确,但我希望你能欣赏我的尝试。先感谢您!

0 投票
1 回答
67 浏览

regex - 为什么正则表达式引擎从`.X|..X|X.`中选择匹配模式`..X`?

我有一个字符串

我使用这个正则表达式来匹配模式

我有

问题是为什么我没有得到4Xor X5

为什么正则表达式选择执行第二种模式?

0 投票
6 回答
1100 浏览

regex - 在正则表达式中使用替换是否比后续替换更快

我有一个很直接的问题。在我工作的地方,我看到很多正则表达式出现。它们在 Perl 中用于替换和/或删除文本中的某些字符串,例如:

我知道您不能连接第一个和最后一个替换,因为您可能只想ph在第一次替换后替换字符串的开头。但是,我会将第一个和第二个正则表达式与交替放在一起:$string=~s/(^.+\/|\.shtml)//;因为我们正在处理数千个文件(+500,000),所以我想知道哪种方法最有效。

0 投票
2 回答
217 浏览

json - 如何在 jq 中使用等效的通配符或交替来过滤多个对象标识符?

概括

我有一个有效的jq过滤器,它可以正确解析三个不同的名称有效负载对象,并将它们按摩成所需的输出格式。问题是我必须明确表达每个对象路径,因为我无法找到一种方法来表达对象标识符中的交替。

我希望过滤器更加灵活,以便它可以显示从containers下到任何标题以 . 开头的包管理器的数据结构Packages。不过,我需要整个结构,而不仅仅是终端节点。

认为我需要的是用交替或通配符来表达我的对象标识符,例如:

  • .capabilities.*.payload?
  • .capabilities.([apk, dpkg, rpm]).payload?

我意识到以上都不是有效的 jq 语法,这就是问题的原因。我在下面包含了一个带有有效 JSON 的测试语料库,我当前的 jq 过滤器列在下面的部分中。

最小的 JSON 文件

这是我的测试语料库,在当前目录中存储为minimum.json 。

显式 jq 过滤器

这是我当前的过滤器,它有效但明确定义了每个可选对象 indentifier-index

预期产出

我当前的输出(如下所示)是正确的。目标不是修复输出,而是使过滤器更灵活。

0 投票
2 回答
111 浏览

regex - 在正则表达式中使用交替时 Perl 未初始化的值

我有一个带有 if 语句的 for 循环,如下所示:

我收到一条错误消息,在 if 语句的行上显示“在模式匹配中使用 @array 中未初始化的值......”。

当我从该行的正则表达式中删除交替时,错误就消失了。如果我注释掉整个 if 语句,则注释“#Get rid of numbers at the end”下的正则表达式不会产生任何错误。

我已经打印出@array 的所有值,一切看起来都很好。我试过没有括号和括号,而不是表达式中的括号,没有任何变化。有什么想法可能导致这种情况吗?

0 投票
2 回答
615 浏览

javascript - 如何在正则表达式中正确使用“或”运算符?

我正在尝试 Javascript 的正则表达式。
我知道 ' |' 用于对两个正则表达式进行 or-ing。
我创建了一个正则表达式/^a*|b*$/,我希望它检测任何只包含“a”或“b”字符的字符串。
但是当我尝试时/^a*|b*$/.test('c'),它会产生true
我缺少对“ |”运算符的理解?

这是我的代码: