​​正则在线测试​​



正则表达式(Java)_java
正则表达式(Java)_java_02
正则表达式(Java)_正则表达式_03

正则表达式(Java)_模式匹配_04

正则表达式(Java)_字符串_05
正则表达式(Java)_regex_06
正则表达式(Java)_字符串_07

正则表达式(Java)_java_08
正则表达式(Java)_java_09
正则表达式(Java)_字符串_10
正则表达式(Java)_regex_11
正则表达式(Java)_java_12

正则表达式(Java)_字符串_13
正则表达式(Java)_模式匹配_14
正则表达式(Java)_正则表达式_15

正则表达式(Java)_java_16

正则表达式(Java)_java_17
正则表达式(Java)_字符串_18
正则表达式(Java)_模式匹配_19

​Demo01​

package RegexTest;
/**
* 正则基本操作
*/
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demo01 {

public static void main(String args[]) {

Pattern p = Pattern.compile("\\w+");

Matcher m = p.matcher("123kjd&@akjda"); // 尝试将整个字符序列与该模式匹配

// System.out.println(m.matches()); // 匹配时候成功

// System.out.println(m.find()); // 该方法扫描输入的序列,查找与该模式匹配的下一个子序列
// System.out.println(m.find());
// System.out.println(m.find());

while (m.find()){
// 输出匹配结果
System.out.println(m.group()); // group()和group(0)匹配整个表达式的字符串
System.out.println(m.group(0));
}
}
}

正则表达式(Java)_模式匹配_20

​Demo02​

package RegexTest;
/**
* group分组
*/

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demo02 {

public static void main(String args[]) {

Pattern p = Pattern.compile("([a-z]+)([0-9]+)");

Matcher m = p.matcher("kj123**dd59aw&@akj36da"); // 尝试将整个字符序列与该模式匹配

while (m.find()){

System.out.println(m.group()); // group()和group(0)匹配整个表达式的字符串
System.out.println(m.group(1));
System.out.println(m.group(2));
System.out.println("------------");
}
}
}

正则表达式(Java)_模式匹配_21
​​​Demo03​

package RegexTest;
/**
* 字符串的替换
*/

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Demo03 {

public static void main(String args[]) {
// 表达式对象
Pattern p = Pattern.compile("[0-9]");
// 创建Matcher对象
Matcher m = p.matcher("kj123**dd59aw&@akj36da");

// 替换匹配到的字符
String nStr = m.replaceAll("#");
System.out.println(nStr);
}
}

正则表达式(Java)_模式匹配_22

​Demo04​

package RegexTest;

import java.util.Arrays;

/**
* 字符串的分割
*/

public class Demo04 {

public static void main(String args[]) {

String s = "adylgt29389ad23ljd";
String[] sArr = s.split("\\d+");

System.out.println(Arrays.toString(sArr));
}
}

正则表达式(Java)_java_23

​java爬虫-用正则表达式爬取超链接​

package RegexTest;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class WebSpiderTest {

/**
* 获得url对应网页的源码内容
* @param urlStr
* @return
*/
public static String getURLContent(String urlStr, String code){

StringBuilder content = new StringBuilder();

try {

URL url = new URL(urlStr);

BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), code));
String temp = "";
while ((temp=reader.readLine())!=null){

content.append(temp);
}

} catch (IOException e) {
e.printStackTrace();
}

return content.toString();
}

public static void main(String[] args) {

String destStr = getURLContent("https://www.163.com", "gbk");
Pattern p = Pattern.compile("(http[s]?://[a-zA-Z0-9./]+?)\"");

Matcher m = p.matcher(destStr);

while (m.find()){
System.out.println(m.group(1));
}

}
}

正则表达式(Java)_字符串_24