|
|
1
6
使用命名组和调度表:
只需稍加自省,您就可以自动生成正则表达式和调度表。 |
|
|
2
18
例如:
|
|
|
3
10
是啊,这有点烦人。也许这对你的案子有用。
编辑: 布莱恩正确地指出,我的第一次尝试没有成功。不幸的是,这次尝试的时间更长。 |
|
|
4
10
开始
|
|
|
5
9
我建议这样做,因为它使用最少的正则表达式来实现你的目标。它仍然是函数式代码,但并不比你的旧Perl差。
|
|
|
6
4
|
|
|
7
4
或者,一些根本不使用正则表达式的东西:
这是否合适取决于你的实际问题。别忘了,正则表达式不是Perl中的瑞士军刀;Python有不同的构造来进行字符串操作。 |
|
|
8
3
为了加快速度,可以在内部将所有正则表达式转换为一个,并动态创建调度器。理想情况下,这将变成一门课。 |
|
|
9
1
以下是我解决这个问题的方法:
没有原始图案那么干净。然而,它简单明了,不需要额外的模块,也不需要更改原始的regexs。 |
|
|
10
1
用字典怎么样?
但是,您必须确保没有重复的match_objects字典键(mo_foo、mo_bar等),最好为每个正则表达式指定自己的名称并相应地命名match_objects-key,否则match_objects.setdefault()方法将返回现有的match对象,而不是通过运行rexxx.search(text)创建新的match目标。 |
|
|
11
1
极简主义的数据持有者:
或者作为单例函数:
|
|
|
12
0
对Pat Notz的解决方案进行了一些扩展,我发现它甚至更优雅:
例子而不是这样:
其中一个就是这样做的:
最终看起来很自然,从Perl迁移时不需要太多的代码更改,并避免了像其他一些解决方案一样的全局状态问题。 |
|
|
13
0
我的解决方案是:
|
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |
|
|
A.Ellett · 测试-t STDIN与-t<STDIN> 1 年前 |
|
|
con · 如何跳转到foreach迭代的特定点? 2 年前 |