0 0

正则表达式关于匹配 数字的问题5

加入有如下一句:
今天我买了5本书,花了500块。
我希望用正则表达式匹配出来的结果为5,500
不知道应该怎么写呢。试了好多,都不对,希望大家帮忙
问题补充:
看了下大家的答案,额,似乎我没有说明白问题?
我写的那句只是一个例子,不是要写死在这句了,不知道是什么样的字符串。
只知道里面可能有数字,要匹配出数字来。
我现在写的假如字符串里如果同时有5,500的时候,匹配出来的结果是5,5,500。
我想要的结果是5,500.
不知道这样说明白了没有。

2009年4月03日 02:41

8个答案 按时间排序 按投票排序

0 0

用set来保存就可以实现唯一了,set调用add方法的时候会自动检查唯一性

while(matcher.find())

set.add(matcher.group());

2009年4月03日 20:24
0 0

正则匹配,然后唯一性过滤.

2009年4月03日 20:05
0 0

上面的那个有问题,看看这个

public static void main(String[] args) {
		
		String regex=null;
		String text=null;
		Pattern pattern=null;
		text="12今天我买了5本书,花了500块22.fdsfsd3412今天我买了5本书,花了500块fsd.";
	    String 	textTemp=null;
		regex="买了\\d+本[^0-9]*,花了\\d+块";
		String regexTemp="[^0-9&&[^,]]";
		pattern=Pattern.compile(regex);
		Matcher matcher=pattern.matcher(text);
		StringBuffer sb=new StringBuffer();
	
		while(matcher.find()){
			System.out.println("***********begin*************");
			System.out.println(matcher.end()+":"+matcher.group(0));
			System.out.println("***********end********************");
			textTemp=matcher.group();
		 sb.append(	Pattern.compile(regexTemp).matcher(textTemp).replaceAll("")+"\n");
	
		}
	
		System.out.println("sb"+sb.toString());
	}

2009年4月03日 14:12
0 0

以下是PHP的版本,请对比Java的复杂程度:

  $s = '今天我买了5本书,花了500块。';
  echo preg_replace('/^\D+(\d+)\D+(\d+)\D+$/','$1,$2', $s);

测试通过,最终显示
5,500

2009年4月03日 13:32
0 0

我写了个java的

public static void main(String[] args) {
		
		String regex=null;
		String text=null;
		Pattern pattern=null;
			text="12今天我买了5本书,花了500块34";
	   String 	textTemp=null;
		regex="[^0-9]*买了\\d+本.*花了\\d+块[^0-9]*";
		String regexTemp="[^0-9&&[^,]]";
		pattern=Pattern.compile(regex,Pattern.MULTILINE);
		Matcher matcher=pattern.matcher(text);
		StringBuffer sb=new StringBuffer();
	//	System.out.println(text);
		//System.out.println(matcher.find());
		//System.out.println(matcher.toString());
		while(matcher.find()){
			System.out.println("***********begin*************");
			System.out.println(matcher.end()+":"+matcher.group());
			System.out.println("***********end********************");
			textTemp=matcher.group();
		 sb.append(	Pattern.compile(regexTemp).matcher(textTemp).replaceAll("")+"\n");
		}

		System.out.println("sb"+sb.toString());
	}

2009年4月03日 13:22
0 0

js的……

var str = '今天我买了5本书,花了500块。';
nums = str.match(/今天我买了([0-9]*)本书,花了([0-9]*)块。/);
alert(nums[1] + "," + nums[2]);

写的够死吧……

2009年4月03日 10:12
0 0


\d匹配不了吗?

2009年4月03日 09:36
0 0

pattern="(\d+)[^,]+(\,)[^,]+(\d+)"
match.group(1) + match.group(2) + match.group(3)

2009年4月03日 08:42

相关推荐

    常用java正则表达式

    接着,定义了一个名为`SocialSecurityNumberValidator`的类,在主方法中使用`Pattern.compile`编译正则表达式,并使用`matcher.matches`来检查字符串是否与给定的模式匹配。 通过上述知识点的学习,读者可以了解到...

    java正则表达式匹配工具

    Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...

    wps表格excel正则工具,excel正则表达式替换/匹配/查找/搜索/提取数字

    而本软件正是把强大的正则功能完美地添加到表格中,让 Excel、WPS 支持正则表达式的搜索、匹配提取、替换、定位等,让数据处理能力进化一个层次! 让 Office Excel、WPS 表格支持正则表达式的免费插件:「Excel ...

    PB实现的正则表达式

    总的来说,"PB实现的正则表达式"是一个关于在PowerBuilder 11.5中利用自定义或第三方库实现正则表达式功能的话题。虽然存在对中文字符的支持限制,但通过学习和理解提供的代码或库,开发者依然可以提升在Power...

    js正则表达式限制文本框只能输入数字,能输小数点.

    整个正则表达式的意思是:匹配一个可能包含小数点的数字序列,但小数点最多只出现一次。 #### 3. JavaScript代码实现 接下来,我们可以通过JavaScript来实现对文本框输入内容的验证。这里给出两种方法:一种是在...

    Lucene 使用正则表达式

    在Lucene中,可以通过`regexQuery`来利用正则表达式进行复杂条件的匹配,从而实现更精确的搜索需求。 #### regexQuery详解 `regexQuery`是Lucene提供的一个用于执行正则表达式查询的方法。它接受一个`Term`对象作为...

    只验证数字和字母的正则表达式

    在计算机编程与数据处理领域中,正则表达式是一种非常强大的文本匹配工具。本文将围绕一个特定的正则表达式 `/^([A-Za-z0-9])+$/` 展开讨论,该表达式主要用于验证输入字符串是否仅包含数字和字母。 #### 正则...

    正则表达式的匹配规则

    通过理解并熟练运用这些匹配规则,你可以编写出复杂的正则表达式来解决各种文本处理问题。记住,正则表达式虽然强大,但也有其局限性,对于过于复杂的情况可能需要其他方法配合使用。实践是检验理解的最好方式,不断...

    正则表达式转换工具

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的...对于编程人员来说,熟练掌握正则表达式不仅可以提高工作效率,还能解决许多复杂的问题。

    正则表达式匹配/可以自定义正则表达式

    正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配字符串...在压缩包文件"正则表达式匹配"中,你可能找到更多关于正则表达式实际应用的实例和教程,这将有助于你加深理解和提升技能。

    vb正则表达式实例(正则表达式测试程序)

    在VB.NET中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员通过模式匹配来处理字符串。这个“vb正则表达式实例”很可能是为了帮助开发者测试和理解正则表达式的工作原理而设计的一个应用...

    正则表达式在数据库查询中的应用

    1. **模糊查询**:通过正则表达式匹配相似的文本,如查询包含特定单词或短语的记录。 ```sql SELECT * FROM articles WHERE content REGEXP '.*example.*'; ``` 2. **格式验证**:确保输入的数据符合预期的格式,...

    正则表达式测试工具C#版(src)

    - 基本元字符:如`.`(匹配任意字符,除换行符)、`^`(匹配行首)、`$`(匹配行尾)、`\d`(匹配数字)、`\w`(匹配字母数字下划线)等。 - 量词:`*`(零个或多个)、`+`(一个或多个)、`?`(零个或一个)、`{n...

    IP地址的正则表达式

    通过特定的字符组合,正则表达式能够匹配符合某种模式的字符串。在处理IP地址时,正则表达式可以帮助我们验证一个字符串是否符合IPv4地址的标准格式。 ### IP地址的正则表达式分析 给定的正则表达式为:(25[0-5]|2...

    正则表达式(Deelx版)|正则表达式(Deelx版)支持库

    - **错误检查**:提供更好的错误检测机制,帮助开发者发现和修复正则表达式中的问题。 - **Unicode支持**:对Unicode字符集有良好的支持,能处理多种语言的文本。 3. **正则表达式语法** - **量词**:如`*`, `+`...

    javascript正则表达式模糊匹配IP地址功能示例.docx

    本文主要介绍了javascript正则表达式模糊匹配IP地址的功能示例,结合简洁实例形式演示了JS模糊匹配IP地址的实现方法,涉及针对数字及字符串的相关正则判定与匹配操作技巧。 一、javascript正则表达式模糊匹配IP地址...

    qt使用正则表达式限制lineEdit的输入,对正则表达式进行了封装,可以直接引入,工程编译正常

    `QRegularExpression("\\d+")` 表示匹配一个或多个数字的正则表达式。 在项目中,作者已经对正则表达式进行了封装,这意味着提供了一个易于使用的类或函数,可以直接引入到你的Qt工程中。使用这个封装好的模块,你...

    关于在LABVIEW中使用正则匹配公式.vi

    在labview中使用正则匹配模式很简单,难的就是使用正则表达式。很多人都搞不明白,查了很多资料还是不太明白。实际上就是一些类似通配符在作怪和其他语言也差不多。附件带上了,可以研究研究,构造正则表达式的方法...

    Linux在合集中使用正则表达式来匹配查找.zip

    在Linux系统中,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于匹配、查找、替换等操作,广泛应用于数据提取、文件搜索、脚本编程等多个领域。本合集主要围绕如何在Linux环境下利用正则表达式...

    易语言正则表达式取网址和名称

    局部变量 匹配结果, 结构体(正则表达式匹配) .局部变量 目标文本, 文本型 = "这里是包含网址的文本,比如 http://example.com 和 www.example.org" .局部变量 网址, 文本型 .程序段 .创建对象 正则表达式对象, ...

Global site tag (gtag.js) - Google Analytics