正则表达式
常用正则表达式:
“^\d+$” //非负整数(正整数 + 0)
“^[0-9][1-9][0-9]$” //正整数
“^((-\d+)|(0+))$” //非正整数(负整数 + 0)
“^-[0-9][1-9][0-9]$” //负整数
“^-?\d+$” //整数
“^\d+(.\d+)?$” //非负浮点数(正浮点数 + 0)
“^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))$” //正浮点数
“^((-\d+(.\d+)?)|(0+(.0+)?))$” //非正浮点数(负浮点数 + 0)
“^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))$” //负浮点数
“^(-?\d+)(.\d+)?$” //浮点数
“^[A-Za-z]+$” //由26个英文字母组成的字符串
“^[A-Z]+$” //由26个英文字母的大写组成的字符串
“^[a-z]+$” //由26个英文字母的小写组成的字符串
“^[A-Za-z0-9]+$” //由数字和26个英文字母组成的字符串
“^\w+$” //由数字、26个英文字母或者下划线组成的字符串
“^[\w-]+(.[\w-]+)*@[\w-]+(.[\w-]+)+$” //email地址
“^[a-zA-z]+://(\w+(-\w+))(.(\w+(-\w+)))(\?\S)?$” //url
最简单的用法:
Pattern pattern =Pattern.complile(patternString);
Matcher matcher = pattern.matcher(input);
while (matcher.find()){
int start = matcher.start();
int end = matcher.end();
String match = input.substring(start,end);
}
package com.xb.Regex;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
*
* @author wyb
*
*/
public class RegexTest {
public static void main(String args[]){
Scanner in = new Scanner(System.in);
System.out.println("Enter pattern:");
String patternString= in.nextLine();
Pattern pattern = Pattern.compile(patternString);
while(true){
System.out.println("Enter string to match:");
String input = in.nextLine();
if (input == null || input.equals("")) {
return;
}
Matcher matcher=pattern.matcher(input);
while(matcher.find()){
int start = matcher.start();
int end = matcher.end();
String match = input.substring(start,end);
System.out.println(match);
}
}
}
}