正则匹配---匹配包含指定字符串

/**
	小编最近做的项目里面用到了需要匹配包含指定字符串的字符串,
	我用到了正则匹配。下面是具体代码:
*/

 	//正则判断相关人士类型是否包括027,网银使用者
String reg = "((?!" + partnerTypeConfig.getBank_user() + ").)*";

/**
	这里面  partnerTypeConfig.getBank_user()  是变量,所以啊,
	正则匹配是可以匹配变量的。此次小编主要匹配  207 这个字符串,
	所以正则表达式应该是 :
*/
String reg = ((?!207).)*;

解释:
	?!  这个符号在正则表达里面是  否定向前查找。

				+--+--+--+--+--+--+--+--+--+--+--+--+--+
	String s =  |e1|i |e2|p |e3|h |e4|o |e5|n |e6|e |e7|
            	+--+--+--+--+--+--+--+--+--+--+--+--+--+
    	index       0     1     2     3     4     5
    
    在字符串里面,每个字符前后都会有一个空字符,即 n 个字符就有 n + 1 
    个空字符。
    (?!ho). 会往前查找,在 e3 会不匹配,因为出现了 ho。但是 . 只匹配
    捕捉一次。我们需要多次,于是就把该匹配包裹成组,加上 * 表示匹配多次。
    即 ((?!ho).)*

	回到问题里面,就是匹配给定字符串里面是否包含  207 字符了。

你可能感兴趣的:(正则表达式,java)