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

标签 python regex string

我想在满足以下要求的字符串中找到所有可能的子串:子串以 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/

相关文章:

python - sklearn.discriminant_analysis 中的解释_方差_比率_

python - 在 NewWindow 上创建图像还为时过早

php - 如何在 PHP 字符串中仅在完整的 CamelCase 单词之间添加空格,完整地跳过单个大写字母?

python - 使用 Python 的视频流

python - 为什么 `*args` 的值很奇怪?

regex - 解析 HTML/XML 文档是如何工作的?

Javascript 正则表达式和方括号

.net - Powershell正则表达式用于随机除以回车符的字符串

java - 无法从字符串转换为(应该是另一个字符串)

python - 计算字符串中的特定字符 - Python