|
4
|
| polygenelubricants · 技术社区 · 16 年前 |
|
|
1
5
在进行真正的匹配之前,可以使用lookahead来“锁定”组号。
|
|
|
2
3
在preg(Perl Regex库)中,这将匹配您的示例,并且
它取决于条件运算符
更新 另外,对于你的阑尾(即使它是错误的方言):
这个名字又出现了
|
|
|
3
3
我能想到的唯一解决办法是,用不同的交替方式捕捉空字符串的技术;稍后对这些组的反向引用可以用作伪条件。 因此,此模式适用于第二个示例( as seen on rubular.com
所以本质上,对于每个开始的括号,我们分配一个组来捕获一个空字符串。然后,当我们尝试匹配右括号时,我们会看到哪个组成功,并匹配相应的右括号。 “main”部分不必重复,但在Java中,backreference可能需要重新编号。这在支持命名组的风格中不会是问题。 |
|
4
0
|
|
|
5
0
当你遇到这样的情况时,使用一个regex是一个愚蠢的限制,我根本不同意你使用多个regex的“维护噩梦”——重复几次类似但不同的表达式很可能是错误的 更多 与一个过于复杂的正则表达式相比,它是可维护的(好吧,不那么不可维护),甚至可能有更好的性能。
下面是一些伪代码:
|
|
|
6
0
您可以有一个函数,可能如下所示(我在这里使用C#语法,因为我在这里比在Java中更熟悉regex,但将其改编为Java应该不会太困难)。 请注意,我或多或少没有实现AdaptBackreferences()函数 作为对读者的练习 . 它应该调整反向引用编号。
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |