如何匹配前面没有特定单词的字符串?

Kam*_*Ali 0 python regex python-re

仅当.get不在字符串之前时,我才尝试匹配字符串ARIBABA 。

例子:

ARIBABA = config.get('SOMETHING', 'ARIBABA').lower()

我已经尝试过这个(在下面),但它与任何内容都不匹配。

^(.get)\bARIBABA\b

Niv*_*tch 5

你可以简单地尝试一下这个:

if 0 =< s.find('.get') < s.find('ARIBABA'):
Run Code Online (Sandbox Code Playgroud)

s.find(substring)返回 s 中以子字符串开头的最低索引

完整示例:

s = "config.get('SOMETHING', 'ARIBABA').lower()"
if 0 =< s.find('.get') < s.find('ARIBABA'):
    print('.get comes before ARIBABA')
Run Code Online (Sandbox Code Playgroud)

输出:

.get comes before ARIBABA
Run Code Online (Sandbox Code Playgroud)

编辑:如果 s 中不存在子字符串,find 将返回 -1,这就是我添加条件的0=<原因

  • 真的很聪明!!!然而它不适用于这种情况: `config.getNOISE('SOMETHING', 'ARIBABA').lower()` 但我不认为这是一个问题。+1 (2认同)