Regex帮助从d中筛选分机号码(电话)

2024-05-14 09:05:05 发布

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

我需要找到一个正则表达式模式,它将只匹配字符串中的分机号码,该字符串可能包含其他电话/传真号码和以E或X结尾的名称。需要帮助分解正则表达式模式或提示才能更有效地执行此操作。你知道吗

我试着使用regex模式,只有在有其他电话/传真号码的情况下才能匹配分机号码。你知道吗

(?i)\s*([Ext]*?[- .]*\d{1,4})([X]*?[- .]*\d{1,4})([Ex]*?[- .]*\d{1,4})

从我现在的模式来看,只有在没有其他数字存在的情况下,我才能匹配像Ext. 115X 256Ex 2114这样的数字。但是,当有电话号码时,我会首先匹配该号码。
另外,当从字符串"Jane Doe 888-888-8888/Fx 888-8888指示传真时,x 888-8888将不匹配。
输入字符串:

 1. "Jane  EXT. 115"  
 2. "Jane X289 FAX 888-888-8888"  
 3. "John Doe-X 241 OR CELL888/8888888"
 4. "Jane Doe 888-888-8888"
 5. "John Doe FX 888-888-8888"

输出为:

 1. "EXT. 115" 
 2. "X289"
 3. "X 241"
 4. "e 888-888-8888"
 5. "X 888-888-8888"

(无分机时)


Tags: 字符串结尾模式情况数字johnextex

热门问题