`
xiaolongfeixiang
  • 浏览: 236400 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

关于‘[’‘]’在正则表达式中的匹配

阅读更多

最近在“问答”频道上看到这样的问题:

 

写道
test123[em:23:]5678[em:4:]

取出中括号中的数字

 

 

很显然大概的正则表达式应该是:[em:(\\d+):]

 

测试时,出问题了。问题出在‘[’‘]’。因为它们是正则表达式中的特殊字符。

 

试试转义,失败了。试试用Pattern的compile方法,编译含有[]的正则表达式,也失败了。

 

。。。。

 

最后,查看API(真是个好东西),发现了突破口-- 使用Unicode。

 

	@Test
	public void testRegx4() {

		String source = "test123[em:23:]5678[em:4:]";

		Pattern pattern = Pattern.compile("\\u005Bem:(\\d+):\\u005D");

		Matcher matcher = pattern.matcher(source);
		
		System.out.println("取得数字:");

		while(matcher.find()){
			System.out.println("找到:"+matcher.group(1));
		}

	}

 

 

终于,成功了。记录一下!

 

PS:还进行了更大胆的尝试,将正则表达式中的所有字符都替换为Unicode码,结果依然正确!

 

 

 

 

0
0
分享到:
评论

相关推荐

    易语言正则表达式类匹配中文

    在易语言中,正则表达式类是一个非常重要的工具,用于处理字符串的模式匹配和查找。在处理中文文本时,这个功能尤为关键,因为中文字符的编码和处理方式与英文有所不同。 正则表达式是用于匹配字符串模式的一种强大...

    易语言正则表达式匹配中文

    本文将深入探讨易语言中的正则表达式匹配中文的原理、方法以及应用。 正则表达式(Regular Expression)是一种模式匹配的语言,用于描述一种字符串的集合。在易语言中,我们可以通过内置的字符串函数来实现正则...

    kettle 根据系统时间加正则表达式动态匹配获取多个文本文件

    kettle 根据系统时间加正则表达式动态匹配获取多个文本文件

    正则表达式--递归匹配与非贪婪匹配

    例如,在`<script language='vbscript'></script>`中,使用非贪婪匹配的正则表达式可以确保正确提取出`vbscript`作为`language`属性的值。 ### 结论 递归匹配和非贪婪匹配都是正则表达式中非常重要的特性。递归...

    java正则表达式匹配工具

    `RegExTool.e`和`RegExTool.exe`可能是正则表达式匹配工具的可执行文件,用户可以通过这些工具直接在命令行或图形界面中测试和应用正则表达式,无需编写代码。 总之,Java正则表达式匹配工具结合了强大的正则表达式...

    PB实现的正则表达式

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

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

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

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

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

    正则表达式匹配调试工具

    在正则表达式调试工具中,它可能包含了用于实现正则表达式匹配的函数或组件。 2. `MTracer.exe`:这是可执行文件,很可能是正则表达式调试工具的主程序。用户可以通过运行这个程序来启动和使用调试工具。 3. `...

    正则表达式转换工具

    - 字符转义:在正则表达式中,特殊字符需要通过反斜杠`\`进行转义,如`\.`表示匹配实际的点号,而不是任何字符。 - 常规字符到元字符的转换:例如,将`*`转换为`\*`,避免其被解释为量词。 - 正则表达式模式构建...

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

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

    Java使用正则表达式提取XML节点内容的方法示例

    在Java中,正则表达式是一种非常有用的技术,它可以帮助开发者快速匹配和提取字符串中的内容。但是,正则表达式也是一种非常复杂的技术,需要开发者具备一定的基础知识和经验。 为了帮助开发者更好地掌握Java正则...

    JavaScript正则表达式匹配 div style标签

    在进行正则表达式匹配时,需要构建能够正确描述目标模式的正则表达式。对于`<div>`和`<style>`标签,通常需要考虑的是标签的开始`<div>`、结束`</div>`,以及它们之间的内容。对于`<style>`标签,需要识别它的开始`...

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

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

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

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

    正则表达式必知必会v_1.0.pdf

    在正则表达式中,可以使用字符集合([xxx])来匹配某些字符中的一个字符。字符集合可以通过显示声明每一个字符,或者通过连字符(-)来指定一个范围的字符。同时,字符集合还可以通过^来声明一个取反的字符集合,即...

    VC、VC++,MFC 正则表达式类库

    在标准C++库中,虽然没有内置的正则表达式支持,但通过包含如 Boost 或 TR1(Technical Report 1)扩展,或者在较新的C++11及更高版本中使用库,开发者可以实现正则表达式功能。然而,对于MFC开发者来说,使用MFC内...

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

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

    C语言正则表达式库

    3. **回溯算法**:PCRE库使用了高效的回溯算法来执行正则表达式匹配。虽然这可能会导致性能问题,但通过优化的匹配引擎和使用预编译模式,可以显著提高效率。 4. **匹配选项**:提供了许多可配置的匹配选项,例如不...

    基于FPGA的正则表达式匹配引擎设计.pdf

    正则表达式匹配引擎是一种用于模式匹配的工具,它在网络入侵检测、文本搜索和数据过滤等领域中广泛应用。正则表达式允许复杂、灵活的模式定义,因此它在处理大量数据时,尤其是在网络环境中,能够快速识别出符合特定...

Global site tag (gtag.js) - Google Analytics