Rod*_*yas 5 python regex string
我想在字符串中找到所有可能的子字符串,其中包含以下要求:子字符串以N开头,下一个字母是除P以外的任何字母,下一个字母是S或T
有了测试字符串"NNSTL",我想得到结果"NNS" and "NST"
这可能与正则表达式?
尝试以下正则表达式:
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 中,而不是整个模式匹配,后者仅是第一个字符。