Python正则表达式检测字母之间的下划线

标签 python regex

如何在 python 中创建一个正则表达式,返回一个所有下划线都在小写字母之间的字符串? 例如,它应该检测并返回:'aa_bb_cc'、'swd_qq'、'hello_there_friend'

但它不应该返回这些:'aA_bb'、'aa_'、'_ddQ'、'aa_baa_2cs'

我的代码是 ([a-z]+_[a-z]+)+ ,但它只返回一个下划线。它应该返回所有用小写字母分隔的下划线。

例如,当我传递字符串 "aab_cbbbc_vv" 时,它仅返回 'aab_cbbbc' 而不是 'aab_cbbbc_vv'

谢谢

最佳答案

你的正则表达式几乎是正确的。如果将其更改为:

^([a-z]+)(_[a-z]+)+$

它可以正常工作,您可以检查 here .

^ - 匹配字符串的开头

$ - 字符串结尾

您需要这些,以便在匹配您不想匹配的字符串时不会获得部分匹配。

关于Python正则表达式检测字母之间的下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65714202/

相关文章:

regex - ngPattern 指令的问题

C# 中的正则表达式仅返回第一个匹配项

regex - 词法分析的状态/转移图——*(星号)收回前向指针有什么意义?

c# - 跳过正则表达式中的单词边界

python - 为什么要指定索引范围以便在 Python 中编写 while 循环列表?

python - 在 Jython 中使用 getattr 时出现 StackOverflowError

python - 连接Python数据帧,删除重复项并保留行起源记录

javascript - 如何匹配 javascript 表达式中所有可能的数字?

python - 如何使 pynput.keyboard 作为线程运行?

python - 使用非拉丁字符串作为键在 Python 中使用 Tuple 进行排序