利用正则表达式匹配字符中多少个字母,数字,空格

public class SymbolNumber{

	public static void main(String[] args) {
		long last = System.nanoTime() ;

		SymbolNumber symbolNumber = new SymbolNumber();
		String s = "6sabcss sfsfs33中国";
		System.out.println(symbolNumber.string(s,"[\u4e00-\u9fa5]")); 		//汉字个数
		System.out.println(symbolNumber.string(s,"[a-z|A-Z]")); 			//字母个数
		System.out.println(symbolNumber.string(s,"[0-9]")); 				//数字个数

		System.out.println(symbolNumber.del(s,"[a|b|3]")); 					//去掉a、b、3

		long now = System.nanoTime();
		System.out.println(now - last);

	}

	/* 字符串中字母的个数 */
	public int string(String s, String pattern){
		Pattern p = Pattern.compile(pattern);
		Matcher m = p.matcher(s);
		int i = 0;
		while (m.find()) {
			i++;
		}

		return i;
	}

	/* 删除字符串中指定的多个内容 */
	public String del(String s, String pattern){
		Pattern p = Pattern.compile(pattern);
		Matcher m = p.matcher(s);
		StringBuffer sb = new StringBuffer();
		while (m.find()) {
			m.appendReplacement(sb, "");
		}

		return sb.toString();
	}
}

时间: 2024-10-07 23:31:21

利用正则表达式匹配字符中多少个字母,数字,空格的相关文章

C# -- 正则表达式匹配字符之含义

原文:C# -- 正则表达式匹配字符之含义 C#正则表达式匹配字符之含义 1.正则表达式的作用:用来描述字符串的特征. 2.各个匹配字符的含义: .   :表示除\n以外的单个字符 [ ]  :表示在字符数组[]中罗列出来的字符任意取单个 |   :表示"或"的意思 ()  :表示改变优先级或"提取组" *   :限定前面的表达式出现0次或多次 +   :限定前面的表达式出现1次或多次 ?  :限定前面的表达式出现0次或1次 ^   :表示以表达式开头(例:^htt

利用正则表达式匹配输入内容 ----正则表达式

//利用正则表达式匹配输入内容 package regex; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexTest { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(Sys

nginx利用location匹配url中?号后的参数

nginx利用location匹配url中?号后的参数 http://www.baidu.com/index.php?a=1&b=2location能匹配到url,但是匹配不到url后面的参数,例如:?a=1&b=2 需求:访问地址:https://www.aposoft.com/all-apowersoft/?from=edm 开发要求可不可以只是这个完整地址https://www.aposoft.com/all-apowersoft/?from=edm 跳转到404,然后https:/

如何提出一个字符中随机出现的数字

char a[100];    char *p=a;    printf("please enter <100 zifchuan:\n");    for (int i=0; i<100; i++) {        scanf("%c",(p+i));                if (*(p+i)=='\n') {            *(p+i)='\0';           break;        }            }   

java正则表达式匹配文本中想要的字符串

需求:获取一个本地文件中所有符合 $[MAKE_PACKAGE] 格式的字符串,并输出到另一个文件中. public static void main(String[] args) throws Exception { loadVar("src/cn/don9/templates/Action.txt","src/cn/don9/templateVar/SysActionVar.txt"); } public static void loadVar(String i

正则表达式匹配字符串中是否的整数价格和小数价格

/**     * 匹配字符串中是否的整数价格和小数价格     * @param str     * @return     */    public static String Match_the_amount(String str) {        String pattern[] = {"[1-9]\\d*\\u5143|[1-9]\\d*.\\d*\\u5143|0.\\d*[1-9]\\d*\\u5143|"                + "[1-9]\\d

python学习:判断字符串中字母数字空格的个数

'''输入一行字符,分别统计出包含英文字母.空格.数字和其它字符的个数. 统计出英文字母字符的个数 ''' # -*- coding: utf-8 -*- import re #正则表达式匹配 def isMathc(src,pat):     pattern = re.compile(pat)     result = re.match(pattern,src)     if result == None:         return 0     else:         return 1

python中利用正则表达式匹配ip地址

现在有一道题目,要求利用python中re模块来匹配ip地址,我们应如何着手? 首先能想到的是ip地址是数字,正则表达式是如何匹配数字的呢? \d或[0-9] 对于这个问题,不要一下子上来就写匹配模式,应该一步步分解,把复杂的问题简单化 比如ip地址,我们可以总结一下规律 1. 它是一个字符串 2. 字符串内部是由4个1-3位的数字和3个.组成 3. 数字的范围是0-255 接下来,我们先试一下匹配第1个数字 第一步:尝试匹配192.168.100.123中的192 >>> import

excel 利用正则表达式匹配工作表中的数据

sheet1中A列放需要匹配的数据 sheet2中A列放正则表达式,可以是多个,但至少一个 匹配到了则在sheet1中C列对应行显示相关标记内容,比如本案例中显示1111 Sub Test() atr = Worksheets("Sheet1").Range("a65536").End(xlUp).Row btr = Worksheets("Sheet2").Range("a65536").End(xlUp).Row a =