0
我正试图从自由文本中提取电话号码。 单词编号的一般格式为'0800',后面跟着至少6个字母数字字符。 如果有多个单词需要至少6个字母数字字符,则返回完整的单词。我如何创建一个正则表达式来匹配总长度至少为n的单词?
的例子有:
'PH 0800 OASIS CLEARWATER' - 回归 '0800 OASIS CLEARWATER'
'免费电话0800 RaceRock TM' - 回归 '0800 RaceRock'
'电话:0800 7 5555 7' - 回归“ 0800 7 5555 7'
我使用的是Oracle 10.2.0.3(10G)
欢呼
markijbema - 您发布的expr中的一些错误,并且已设法重写它,并使我的大多数测试用例正常工作0800 \ s *([[:alnum:] - \ s] {3,6})[[: alnum:] - ] * – user638494 2011-02-28 23:21:58
@ user639494它将同情编辑您的更改到我的答案。这样,如果有人从谷歌中找到这个页面,他们会看到一个正确的解决方案。另外,如果您认为它回答了您的问题,我会很感激您接受我的回答。 – markijbema 2011-02-28 23:24:11
现在失败的人是:“0800 7665 4 8任何大小或形状”只返回“0800 7665 4”想要“0800 7665 4 8”和“免费电话0800 POOL 4 U”返回“0800 POOL 4“想要”0800 POOL 4 U“ –
user638494
2011-02-28 23:24:32