2015-05-05 133 views
-1

有人可以幫助我將PHP正則表達式轉換爲Java格式嗎?將php正則表達式轉換爲android java正則表達式

這將是偉大的,我將不勝感激,如果任何人都可以幫助我,因爲我沒有如此強大的正則表達式。

這是一個PHP代碼:

$string = file_get_contents('a.txt'); 
$regex = '/\b(http|https):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i'; 
preg_match_all($regex, $string, $matches); 
$urls = $matches[0]; 
+0

聘請一名自由職業者或做它是你自己,反覆試驗纔是最好的選擇。 – Epodax

+0

應該是幾乎相同的正則表達式我相信只是用java中的''''替換''''' – brso05

+0

我相信還有更多需要改變,需要轉義很多。但是'\ b'和'/ i'我不知道如何實現... – shkschneider

回答

3

你應該doubl Ë逃脫斜線和你沒有逃跑/ S:

String rx = "(?i)\\b(http|rtmp|rtsp|mmsh|mms)://[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]"; 

示例代碼來獲取所有的比賽(不要忘了包括import java.util.regex.*;):

String str = "http://google.com"; 

String rx = "(?i)\\b(http|rtmp|rtsp|mmsh|mms)://[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]"; 
Pattern ptrn = Pattern.compile(rx); 
Matcher m = ptrn.matcher(str); 
while (m.find()) { 
    System.out.println(m.group(0)); 
} 
+0

非常感謝! Yous救了我的一天,我直接整合起來,工作得很好。今天我有時間繼續工作,謝謝 –

2

基本正則表達式的語法是相同的在所有的語言只是要圍繞轉義字符的東西小心。 要轉義特殊字符使用\\,沒有必要轉義/

和一些參數將以不同的方式在java中給出。

使用(?i)之初,而不是/i

邊界表達\b在Java中也一樣,但你需要在Java中添加\\b因爲\b將被視爲退格退格字符

你的格局將是這樣的:

(?i)\\b(http|rtmp|rtsp|mmsh|mms)://[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]

相關問題