我正在寻找一种方法来返回字符串中给定正则表达式的第一个匹配.它看起来就像re.search我正在寻找的方法.
但是,文档没有明确说明是否保证从搜索方法返回第一个匹配项.
该文档声称该方法"扫描字符串",它告诉我它从字符串的开头这样做.
但是我需要一些强有力的论据.仅仅是测试一个cat1被发现cat1cat2是不够的.
最好的是对官方文档或实现的暗示.
我不想阅读代码re.search,因为它有很多.然而,如果我们看的代码re.sub,我们可以看到它使用re.search,并且re.sub 是保证更换模式的最左边的发生.因此,re.search必须归还它.
相关代码来自_sre.c(评论取代冗长的无关代码)
static PyObject*
pattern_subx(PatternObject* self, PyObject* ptemplate, PyObject* string,
Py_ssize_t count, Py_ssize_t subn)
{
// init stuff...
while (!count || n < count) {
state_reset(&state);
state.ptr = state.start;
status = sre_search(&state, PatternObject_GetCode(self));
// Do the replacement...
Run Code Online (Sandbox Code Playgroud)
编辑:
扫描字符串,查找正则表达式模式产生匹配的第一个位置,并返回相应的匹配对象.
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |