我有這個字符串:正則表達式:找到兩個詞之間的空間
邁阿密25趙令DOE 3059715648科勒爾蓋布爾斯
我想用正則表達式來查找以下空間:
邁阿密25 [SPACE] JOHN H. DOE 3059715648 [SPACE]科勒爾蓋布爾
我想忽略John H. Doe之間的所有其他空間
謝謝!
我有這個字符串:正則表達式:找到兩個詞之間的空間
邁阿密25趙令DOE 3059715648科勒爾蓋布爾斯
我想用正則表達式來查找以下空間:
邁阿密25 [SPACE] JOHN H. DOE 3059715648 [SPACE]科勒爾蓋布爾
我想忽略John H. Doe之間的所有其他空間
謝謝!
你可以使用lookarounds在給定的字符串中做到這一點,但不確定這背後的邏輯。
(?<=\d)\s+(?=\D)
此斷言在字符串中的當前位置,什麼是前面一個數字,接下來是任意字符不是那一個數字,如果成功的話空間字符(S)是匹配的。
謝謝!像魅力一樣工作 – PizzaMonster 2014-09-13 18:25:37
不客氣。 =) – hwnd 2014-09-13 18:25:56
+1 - 將捐贈給偉大的水晶球,以確定用戶真正想要的東西。也許應該指出的是,在非Javascript正則表達式中,\ d也會匹配諸如「1」(aka ARABIC-INDIC DIGIT ONE)之類的東西。 – 2014-09-13 18:41:15
太棒了!這個正則表達式也起作用!謝謝! – PizzaMonster 2014-09-13 18:26:17
(.*?(\\d+)(\\s+)(.*))
的Java代碼示例:
Pattern p = Pattern.compile("(.*?(\\d+)(\\s+)(.*))");
Matcher m = p.matcher("Miami 25 JOHN H. DOE 3059715648 Coral Gables");
if(m.matches()) {
//m.group(2) = 25
//m.group(4) = JOHN H. DOE 3059715648 Coral Gables
}
找到一個空間,那麼你想要什麼用它做? – falsetru 2014-09-13 17:47:25
澄清你找到這些空間的邏輯嗎? – anubhava 2014-09-13 17:47:56
您需要一種方法從您不想要的空間中邏輯地區分您想要的空間。例如,規則,*只能找到數字*之後的空格嗎?它適用於您演示的單個示例,但從您的問題來看,您是不是很清楚這是否適合您要處理的所有字符串。 – lurker 2014-09-13 17:48:51