`
aokunsang
  • 浏览: 816047 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

正则表达式中逻辑或(“|”)的一点门道

    博客分类:
  • Java
阅读更多

正则表达式中的逻辑或(“|”),有点意思啊、研究了一下.

 

public class OrTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "abc|ass|sdf"; 
		String[] temp =  str.split("|"); 
		System.out.println("------"+temp.length); 
	}
}

 

运行结果:

------12 。

 

由此知道,原来“|”在正则表达式中还需要转义,于是:

public class OrTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "abc|ass|sdf"; 
		String[] temp =  str.split("\\|"); 
		System.out.println("------"+temp.length); 
	}
}

  运行结果:

------3        得到想要的结果了、

 

但是仔细一看,第一个怎么会是12呢,一共加上"|"才11个字符啊。

研究后发现,原来String[] temp =  str.split("|");其实相当于String[] temp =  str.split("");

对str进行空字符串分割,得到的第一个字符为“”(空字符串),由此可知多的那个字符就是坐标为0的空字符

串。

分享到:
评论

相关推荐

    正则表达式.rar || 正则表达式.rar

    1. 元字符:正则表达式中包含一些特殊字符,如"."(匹配任意字符,除了换行符)、"*"(匹配前一个字符0次或无限次)、"+"(匹配前一个字符1次或无限次)、"?"(匹配前一个字符0次或1次)等,它们称为元字符,具有...

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

    - **分词**:在自然语言处理中,正则表达式用于识别和提取特定的词汇或短语。 5. **RegExfnE的作用** - 根据提供的文件名"正则表达式支持库200版静态版RegExfnE"推测,这可能是正则表达式支持库的一个版本,可能...

    PB实现的正则表达式

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

    正则表达式转换工具

    正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换或过滤成符合正则表达式规则的输出表达式。这样的工具在编程、数据分析、文本挖掘等领域有着广泛的应用。 1. **正则表达式基本概念** ...

    10.1 初识正则表达式|正则表达式与JSON|Python3.8入门 & 进阶 & 原生爬虫实战完全解读

    10.1_初识正则表达式|正则表达式与JSON|Python3.8入门_&_进阶_&_原生爬虫实战完全解读

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

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

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

    - 调试技巧:源码中可能会有调试正则表达式的辅助逻辑,帮助开发者更好地理解和调试自己的正则表达式。 通过深入研究这个C#版的正则表达式测试工具源码,开发者不仅可以巩固正则表达式的基础知识,还可以提升在C#...

    pb 使用正则表达式源码pbregexp

    标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...

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

    在正则表达式中,还有一些特定的元字符,例如数字字符(\d)、非数字字符(\D)、数字、字母或下划线(\w)、非数字、字母或下划线(\W)、空白字符(\s)、非空白字符(\S)等。这些元字符可以用于匹配特定的字符或...

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

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

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

    在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...

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

    在易语言中,正则表达式是进行文本处理、数据提取和搜索的关键工具,尤其在处理中文字符时显得尤为重要。本文将深入探讨易语言中的正则表达式匹配中文的原理、方法以及应用。 正则表达式(Regular Expression)是一...

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

    Java中提供了对正则表达式的支持,使得开发者可以使用正则表达式来匹配和提取字符串中的内容。 二、XML节点内容提取方法 在Java中,可以使用正则表达式来提取XML节点内容。下面是一个简单的示例: ```java public ...

    C语言正则表达式库

    C语言正则表达式库是用于在C编程环境中处理和匹配正则表达式的软件库。这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配...

    正则表达式大全 - 收集的最常用正则表达式

    d)` - 邮政编码通常为6位数字,这个正则表达式确保了这一点。 11. 匹配身份证:`d{15}|d{18}` - 中国的身份证号码可以是15位或18位,这个正则表达式都能匹配。 12. 匹配IP地址:`d+.d+.d+.d+` - 这个正则表达式...

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

    例如,对于一个新闻网站,可以利用正则表达式类匹配中文源码来提取文章标题或关键词,或者在用户输入的搜索查询中进行模糊匹配,提高搜索效率。 通过易语言提供的正则表达式类,我们可以高效地处理中文文本,进行...

    正则表达式转NFA实现

    3. **选择运算符**:正则表达式中的“|”(或)运算符表示两个正则表达式中任一能匹配的字符串都能被接受。在NFA中,这可以通过创建一个分岔,从共同的前驱状态分别指向两个正则表达式的NFA表示,然后从两个正则...

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

    ### 正则表达式在数据库查询中的应用 #### 引言 在数据库管理与应用程序开发中,查询数据是一项常见的任务。传统的SQL查询虽然强大,但在处理复杂查询时可能存在一定的局限性,尤其是涉及到文本数据的模式匹配时。...

    正则表达式大全.docx

    正则表达式的使用非常广泛,它们在编程语言中作为内置函数或库提供,用于字符串处理、数据验证、文本分析等任务。掌握正则表达式可以极大地提高你的文本处理能力,尤其在处理大量数据或需要严格验证用户输入的场景下...

Global site tag (gtag.js) - Google Analytics