使用正则表达式,我试图从 html 格式的电子邮件中提取生成的 6 位代码。我是这样做的。\d{6}
这会从 6 个元素的字母中提取所有数字,但问题是字母代码中的数字“333333”重复了几次。如何通过切断这些三元组来提取我需要的代码?在帮助和类似的情况下尝试过\d{6}[^3333333]
- 无济于事。我以前没有遇到过正则表达式。
使用正则表达式,我试图从 html 格式的电子邮件中提取生成的 6 位代码。我是这样做的。\d{6}
这会从 6 个元素的字母中提取所有数字,但问题是字母代码中的数字“333333”重复了几次。如何通过切断这些三元组来提取我需要的代码?在帮助和类似的情况下尝试过\d{6}[^3333333]
- 无济于事。我以前没有遇到过正则表达式。
如果您需要在不考虑上下文的情况下查找所有 6 位数字,并且仍然排除特定 6 位数字的匹配项,您可以使用
在这种情况下,这种模式可以缩短为
(?!3{6})\d{6}
。查看表达式如何工作的示例。(?!333333)
- 如果在当前位置之后立即存在子字符串,则排除匹配项的否定(负)前瞻块333333
。连续六次3{6}
找到一个数字。3
如果您需要将数字提取为整个单词,请使用单词边界,
\b
:查看表达式如何工作的示例。前者
\b
需要字符串的开头或紧接在匹配之前的字母/数字/_
,而后者\b
需要_
紧接在匹配之后的字符串结尾或字母/数字/。利用
查看表达式如何工作的示例。
(?<!\d)
要求匹配前没有数字,并且(?!\d)
要求匹配后立即没有数字。