正则表达式复杂应用

正则表达式复杂应用
class  ReqParam(queryString: String, val encode: String  =   " GBK " ) : HashMap < String, String > () {
        
        init {
            queryString.split(
" &+ " .toRegex()).filter { it.contains( " = " ) }.forEach {
                val kv 
=  it.split( " (?<!=+)= " .toRegex())
                put(kv[
0 ], URLDecoder.decode(kv[ 1 ], encode))
            }
            
        }
    }

以上是kotlin代码,是将链接地址串的 queryString 拆分k=v形式,并提取值

fun main(args: Array < String > ) {
    val domain 
=   " fu.area.duxiu.com "
    val subdomain 
=  domain.replace(Regex( """ .+((\.\w+){2}) """ ),  " $1 " )
    println(subdomain)
}

取主域名

public   static  String cookieDomain(String domain) {
        
if  (domain.matches( " ((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?) " )) { //  如果是IP地址,主域名就是IP地址
             return  domain;
        }
        
return  domain.substring(domain.indexOf( " . " )); //  写子域名,域名前边加上"."
    }

判断IP

你可能感兴趣的:(正则表达式复杂应用)