2016-03-07 71 views
0

我是新的regex。 我想提取土耳其文中的地址欄。 但在土耳其語寫作地址沒有標準。 例如,區= mahalle用REGEX提取土耳其語的地址

你寫的分區類型下面

「麻將」。 「MH」。 「MAH」。 「MH」「mh」。 「麻將」。或「mahalle」

regex = ((.*)((\b[Mm][Aa]?[Hh].?)(.*))) 

的正則表達式是找到所有類型的小區,除了最後一個。

兩種可能的地區類型; 1.「mah。mh。」 2.「mahalle」

我怎樣才能找到相同的正則表達式語句?

Note: i don't want to | (or) statement. .... .... | (.*)mahalle(.*) 
+1

您能否確切地說明您需要什麼?我想你不想使用'|',因爲你沒有意識到一個非捕獲組「(?:...)'?應該捕獲什麼,什麼不是? –

+0

這聽起來像一個XY問題。你有一個問題,有人告訴你,正則表達式非常性感,現在,你有兩個問題。 –

+0

我想捕捉完整的地址線區,街道等,但在土耳其語中,您可以使用縮寫詞或完整詞。例如「街道」,我想捕捉線條包括「街道」或「街道」。 – babeyh

回答

0

由於不會有太多的選擇,首先,你可以使用或操作以避免複雜。看看stanford nlp是如何與我們說明的: ABSTATE = Ala | Ariz | [A] z | [A] rk | Calif | Colo | Conn | Ct | Dak | [D] el | Fla | Ga | [ I] LL |工業|各Kans?|肯塔基州| [L] A | [M]屁股|馬里蘭州|密歇根州|明尼蘇達州| [M] ISS |莫|山|內布拉斯加州|內華達州|俄克拉荷馬州| [O]重新| [P] a | Penn | Tenn | [T] ex | Va | Vt | [W] ash | Wisc?| Wyo

舉個例子:Mah。| MH。| MAH。| MH | mh。| mah。| mahalle。您當然可以通過使用不區分大小寫的標誌來覆蓋Mah./MAH./mah來簡化此操作。