本文目錄一覽:
java正則表達式的使用
Java 正則表達式和 Perl 的是最為相似的,正則表達式就是規則表達式。
Java中正則表達式與之前使用的Python是有區別的,區別在於Java對於反斜線(\)處理的不同。 在Python中”\d”表示 匹配一位數字(0-9),而Java中匹配一位數字(0-9),需要的正則表達式為”\\d”。 不過換行符和製表符只需要單反斜線“\n\t”。
正則表達式定義了字符串的模式。可以用來搜索、編輯或處理文本。不僅限於某一種語言,但是在每種語言中有細微的差別。
在JAVA裡面怎麼使用正則表達式?
正則表達式的主要用法就是判斷某個字符串是否符合某個固定的格式,以下是電話號碼的格式判斷:
BufferedReader in;
Pattern pattern = Pattern.compile(“//(//d{3}//)//s//d{3}-//d{4}”);
in = new BufferedReader(new FileReader(“18046521658”));
String s;
while ((s = in.readLine()) != null)
{
Matcher matcher = pattern.matcher(s);
if (matcher.find())
{
System.out.println(matcher.group());
}
}
in.close();
備註:其中/d單字符類型用來匹配從0到9的任何數字,另外{3}重複符號,是個簡便的記號,用來表示有3個連續的數字位,也等效於(/d/d/d)。/s也另外一個比較有用的單字符類型,用來匹配空格,比如Space鍵,tab鍵和換行符。
java中的正則表達式
Java正則表達式 (img.*?)style=\”.*?\” 替換成 $1
其中.*表示0個或0以上多個任意字符
.*?表示0個或0以上多個任意字符的非貪婪匹配,就是假如一個句子中有多個style,它匹配距離最近的那個style,同理後面的.*?匹配距離最近的雙引號
$1表示反向引用,它代表的是正則表達式中的第一個小括號所括起來的分組的內容,如果有兩個小括號括起來的內容,則分別用$1,$2表示它們(在替換後的字符串中)
完整的Java程序如下
123456public class CC { public static void main(String[] args) { String s=”img src=\”file/img/2016/12-28/1234-25521482893088459.jpg\” title=\”1234.jpg\” alt=\”\” width=\”396\” height=\”271\” style=\”width: 396px; height: 271px;\”/”; System.out.println(s.replaceAll(“(img.*?)style=\”.*?\””, “$1”)); }}
運行結果
img src=”file/img/2016/12-28/1234-25521482893088459.jpg” title=”1234.jpg” alt=”” width=”396″ height=”271″ /
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/152993.html