查找字符串中的所有可能的子字符串.Python正则表达式

Rod*_*yas 5 python regex string

我想在字符串中找到所有可能的子字符串,其中包含以下要求:子字符串以N开头,下一个字母是除P以外的任何字母,下一个字母是S或T

有了测试字符串"NNSTL",我想得到结果"NNS" and "NST"

这可能与正则表达式?

CJ *_*nis 4

尝试以下正则表达式:

N[^P\W\d_][ST]
Run Code Online (Sandbox Code Playgroud)

第一个字符是 N,下一个字符不是 (^) P、非字母 (\W)、数字 (\d) 或下划线 (_)。最后一个字母是 S 或 T。我假设第二个字符必须是字母。

编辑

上面的正则表达式将仅匹配字符串中的第一个"NNSTL"实例,因为它将在位置 3: 处开始下一个潜在的匹配"TL"。如果您确实想要同时获得两个结果,请使用以下命令:

(?=(N[^P\W\d_][ST])).
Run Code Online (Sandbox Code Playgroud)

子字符串将位于组 1 中,而不是整个模式匹配,后者仅是第一个字符。