相关疑难解决方法(0)

参考 - 这个正则表达式意味着什么?

这是什么?

这是常见问答的集合.这也是社区Wiki,因此每个人都被邀请参与维护.

为什么是这样?

患的是给我泽码型的问题和答案不佳,没有解释.此参考旨在提供质量问答的链接.

范围是什么?

此引用适用于以下语言:,,,,,,.

这可能过于宽泛,但这些语言共享相同的语法.对于特定功能,它背后的语言标签,例如:

  • 什么是正则表达式平衡组?

regex

52
推荐指数
1
解决办法
11万
查看次数

使用正则表达式验证数值范围

我的输入数字是一个int.但输入数字必须在-2055到2055的范围内,我想通过使用正则表达式来检查.

那么无论如何要写一个正则表达式来检查一个数字是否在(-2055,2055)中?

if语句用于检查数字是否在范围内更容易.但是我正在写一个解释器,所以我应该使用正则表达式来检查输入数字

regex ocaml

29
推荐指数
6
解决办法
7万
查看次数

令人惊讶但正确的贪婪子表达式在积极的后视断言中的行为

注意:

  • 观察到的行为是正确的,但起初可能令人惊讶;对我来说是这样,我认为对其他人也可能是这样——尽管对那些非常熟悉正则表达式引擎的人可能不是这样。

  • 重复建议的重复项Regex lookahead、lookbehind 和 atomic groups包含有关环视断言的一般信息,但没有解决手头的具体误解,如下面的评论中更详细地讨论。


使用greedy,根据定义,在肯定的后视断言中的可变宽度子表达式可以表现出令人惊讶的行为。

为了方便起见,这些示例使用 PowerShell,但该行为通常适用于 .NET 正则表达式引擎:

这个命令按我直觉的预期工作:

# OK:  
#     The subexpression matches greedily from the start up to and
#     including the last "_", and, by including the matched string ($&) 
#     in the replacement string, effectively inserts "|" there - and only there.
PS> 'a_b_c' -replace '^.+_', '$&|'
a_b_|c
Run Code Online (Sandbox Code Playgroud)

下面的命令,该命令使用正向后看断言,(?<=...)是看似等价-但不是: …

.net regex regex-greedy regex-lookarounds

5
推荐指数
1
解决办法
260
查看次数

4
推荐指数
2
解决办法
4686
查看次数