固定长度且无前后数字的just number的正则表达式出现且未使用\b

2024-10-02 22:35:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想要一个正则表达式,只用于固定长度的数字,没有数字的后面或前面,而不使用\b 示例文本:“phone0990-123-12345你好”

我的正则表达式:r'09([0-9]){2}([ ]|-){0,1}([0-9]){3}([ ]|-){0,1}([0-9]){4}(?:[^0-9])'

这个正则表达式必须返回null,但它为我返回0990-123-12345! 我对它说匹配文本中的numbre,在9个目标数字之后不继续用(?)?:[^0-9])和?:告诉它匹配中不显示非数字。我不想在比赛中表现出h字!你知道吗


Tags: 文本示例目标数字nullnumbrephone0990
3条回答

我尽力去理解这个问题,但你也可以试试

09([0-9]+){2}([ -]+){0,1}([0-9]+){3}([ -]+){0,1}([0-9]){4}

试试看

\d{4}[-.]\d{3}[-.]\d{4}

它将返回0990-123-1234

当您用{4}给出确切的位数时,您可以省略部分(?:[^0-9])。你知道吗

总而言之,这个正则表达式对我很有用: r'09([0-9]){2}([ ]|-){0,1}([0-9]){3}([ ]|-){0,1}([0-9]){4}'

您可以在以下位置检查正则表达式: https://pythex.org/

相关问题 更多 >