|
|
1
9
当教程介绍查找时,他们倾向于为每个用例选择最简单的用例。所以他们会用这样的例子
试着看一些更现实的例子。一个经常出现的问题涉及验证密码;例如,确保新密码至少有六个字符长,并且包含至少一个字母和一个数字。一种方法是:
角色类
对于另一个例子,假设您需要查找单词“there”的所有出现位置,除非它前面有引号。最明显的例子是
每一个regex引擎都有其自身的优点和缺点,但有一点是对所有引擎都是正确的,那就是它们比任何其他引擎都更快地找到文字字符的固定序列——序列越长越好。这意味着它可以大大更快地进行向后看。 最后的 ,即使它意味着将单词匹配两次:
因此,控制了望台位置的规则是没有规则;你把它们放在任何它们在每种情况下最有意义的地方。 |
|
|
2
4
我认为,以身作则比解释更容易。让我们来看看这个regex:
这意味着:
所有这些都将匹配字符串
还要注意,在大多数(可能全部)实现中,lookbehind具有固定长度的限制。不能使用重复/可选性运算符,例如
在字符串上运行此regex的示例
|
|
|
3
1
当我们在表情后面看的时候,我们
重新检查我们已经匹配的字符串
. 当你有复杂的情况时,这是很常见的(你可以把它看作
首先,捕获两个字符之间的和号。接下来,你检查它们都不是空格(
|
|
|
DotFX · RegEx捕获关键字前但括号后的所有内容 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |
|
|
iato · 确保正则表达式不从命名材料中的数字中提取 1 年前 |
|
|
vr8ce · 非成对标记中特定字符的正则表达式 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |