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

本文通过Java示例代码详细介绍了正则表达式中逻辑或符号“|”的使用方法及其转义字符的重要性。文章揭示了在使用split方法进行字符串分割时,未正确转义“|”会导致的意外结果,并解释了原因。

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

 

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的空字符

串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值