我想在满足以下要求的字符串中找到所有可能的子串:子串以 N 开头,下一个字母不是 P,下一个字母是 S 或 T
使用测试字符串 "NNSTL"
,我想得到结果 "NNS"和 "NST"
这可以用 Regex 实现吗?
最佳答案
试试下面的正则表达式:
N[^P\W\d_][ST]
第一个字符是 N,下一个字符不是 (^) P、非字母 (\W)、数字 (\d) 或下划线 (_)。最后一个字母是 S 或 T。我假设第二个字符必须是字母。
编辑
上面的正则表达式将只匹配字符串 "NNSTL"
中的 第一个 实例,因为它将在位置 3 开始下一个潜在匹配:"TL “
。如果您确实希望同时获得这两种结果,请使用以下方法:
(?=(N[^P\W\d_][ST])).
子字符串将在组 1 中,而不是整个模式匹配,后者只会是第一个字符。
关于python - 查找字符串中所有可能的子字符串。 Python 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22030459/