之前匹配什麼,我試圖通過類型的數字來標記以下片段:java.util.regex中表達
"(0-22) 222-33-44, 222-555-666, tel./.fax (111-222-333) 22-33-44 UK, TEL/faks: 000-333-444, fax: 333-444-555, tel: 555-666-888"
和
"tel: 555-666-888, tel./fax (111-222-333) 22-33-44 UK"
和
"fax (111-222-333) 22-33-44 UK, TEL/faks: 000-333-444, fax: 333-444-555"
等。
這個概念是,它可以是類似「tel/faks」和「電話/傳真號碼」之後的任意組合,也可以是字符串開頭的「電話/傳真號碼」。
我有這樣的:
"(?:.(?!((tel|fax|faks)[ /:.]+)+))++"
在例1中,卻發現()後返回的是:(字符 '_' 都是我加的)
-
_(0-22)222-1 33-44,222-555-666,_
_TEL./_
_FAX(111-222-333)22-33-44英國,_
_TEL_
_FAKS:000-333-444,_
_FAX:333-444-555_
似乎我失去了每個組中的一個字符,像「TEL/faks」這樣的組合類型被分割。我還需要抓取(如果存在,如果不存在,則默認號碼是tel)以供將來處理。
我該如何擺脫這個?
PS。我使用:不區分大小寫
我想了解你輸出想要什麼樣子的,一個例子字符串有助於。 – 2010-06-21 22:39:21
@Lauri Lehtinen,感興趣的thx。 我想這樣我寫的字符串( 「找到()」 - 例如),但不splited例如: 「_TEL /電傳:000-333-444,_」 而非 「_TEL_ _FAKS: 000-333-444,_「 – 2010-06-22 06:59:26
是否有一個原因,你不能只做」(0-22)..其餘的字符串「.split(」,「); ? – 2010-06-22 07:13:32