1. 程式人生 > >判斷是否URL的正則表示式【Java和javascript】字串是否包含中文

判斷是否URL的正則表示式【Java和javascript】字串是否包含中文

  /**
   * 頂級域名判斷;如果要忽略大小寫,可以直接在傳入引數的時候toLowerCase()再做判斷
   * @param str
   * @return
   */
  public static boolean isTopURL(String str){
      //轉換為小寫
      str = str.toLowerCase();
      String domainRules = "com.cn|net.cn|org.cn|gov.cn|com.hk|公司|中國|網路|com|net|org|int|edu|gov|mil|arpa|Asia|biz|info|name|pro|coop|aero|museum|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cf|cg|ch|ci|ck|cl|cm|cn|co|cq|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|es|et|ev|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gp|gr|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|ml|mm|mn|mo|mp|mq|mr|ms|mt|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|va|vc|ve|vg|vn|vu|wf|ws|ye|yu|za|zm|zr|zw";
      String regex = "^((https|http|ftp|rtsp|mms)?://)" 
              + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]

[email protected])?" //ftp的[email protected] 
             + "(([0-9]{1,3}\\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184 
               + "|" // 允許IP和DOMAIN(域名)
            + "(([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]+\\.)?" // 域名- www. 
               + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\\." // 二級域名 
              + "("+domainRules+"))" // first level domain- .com or .museum 
              + "(:[0-9]{1,4})?" // 埠- :80 
              + "((/?)|" // a slash isn't required if there is no file name 
              + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; 
      Pattern pattern = Pattern.compile(regex);
      Matcher isUrl = pattern.matcher(str);
      return isUrl.matches();
  }

  /**
   * 判斷字串是否包含中文
   * @param str
   * @return
   */
  public static boolean isContainsChinese(String str)
  {
   String regEx = "[\u4e00-\u9fa5]";
   Pattern pat = Pattern.compile(regEx);
   Matcher matcher = pat.matcher(str);
   boolean flg = false;
   if (matcher.find()){
    flg = true;
   }
   return flg;
  }

相關推薦

判斷是否URL表示式Javajavascript字串是否包含中文

  /**    * 頂級域名判斷;如果要忽略大小寫,可以直接在傳入引數的時候toLowerCase()再做判斷    * @param str    * @return    */   public static boolean isTopURL(String str){

JAVA表示式區分IPv4IPv6地址

PS*程式碼直接見第二部分: 一、進入正題前先說說JAVA正則表示式相關概念: 1、常用字元類: [abc] == a||b||c   [a-zA-Z] == 所有大小寫字母中的任意一個      [0-9A-Za-z] == 任意

Python表示式轉載

這是轉載的文章,原文章地址如下: Python 正則表示式入門(初級篇). 引子 首先說 正則表示式是什麼? 正則表示式,又稱正規表示式、正規表示法、正規表示式、規則表示式、常規表示法(英語:Regular Expression,在程式碼中常簡寫為regex、rege

SQL Server 效能優化實戰系列(一) SQL Server擴充套件函式的基本概念 使用SQL Server 擴充套件函式進行效能優化 SQL Server Url表示式 記憶體常駐 完美解決方案

資料庫伺服器主要用於儲存、查詢、檢索企業內部的資訊,因此需要搭配專用的資料庫系統,對伺服器的相容性、可靠性和穩定性等方面都有很高的要求。        下面是進行籠統的技術點說明,為的是讓大家有一個整體的概念,如果想深入可以逐個擊破;&n

利用有限自動機分析表示式

【轉】 版權宣告:可以任意轉載,但轉載時必須標明原作者charlee、原始連結http://tech.idv2.com/2006/05/08/parse-regex-with-dfa/以及本宣告。 【/轉】 概念 記號 有字母表中的符號組成的有限

劍指offer:表示式匹配(java)

/** * 題目:(正則表示式匹配) * 請實現一個函式用來匹配包括'.'和'*'的正則表示式。 * 模式中的字元'.'表示任意一個字元,而'*'表示它前面的字元可以出現任意次(包含0次)。 * 在本題中,匹配是指字串的所有字元匹配整個模

關於java表示式中的 ^$的使用

java正則表示式的邊界匹配符中,有兩個比較常用的字元:“ ^ ”和“ $ ”,這兩個字元理解起來比較容易混淆。先說下這兩個字元的含義: “ ^ ”:匹配輸入字串開始的位置。如果設定了 RegExp 物件的 Multiline 屬性,^ 還會與”\n”或”\r

java:表示式的概述簡單使用

public class Demo1_Regex { public static void main(String[] args) { // TODO Auto-generated method

java表示式、PatternMatcher類小結

  最近在實際開發中遇到了2個坑,都和正則表示式有關。一個是public String[] split(String regex),入參居然是正則表示式!!!另一個坑與Pattern、Matcher類的操作有關。都是對java的正則表示式不夠熟悉導致。特地整理一

劍指Offer面試題53:表示式匹配 Java實現

/************************************************************** * Copyright (c) 2016, * All rights reserved. * 版 本 號:v1.0

字串、格式化、表示式

格里高利曆和儒略曆。也就是說,可以通過在時間上無限地向後或向前外推當前規則來計算日期。因此,對於所有的年份,都可以使用 GregorianCalendar 來生成有意義並且一致的結果。但是,採用現代儒略曆規則時,使用GregorianCalendar 得到的日期只在歷史上從公元 4 年 3 月 1 日之後是準

表示式Java中的使用

這裡不打算說明正則表示式的具體細節,只講Java中使用正則表示式的一些基礎知識。 一個簡單的例子,使用正則表示式來匹配電話號碼,電話號碼包括了三到四位的區號;可有可無的連線符;6位到八位的電話號碼。正則表示式如下: \d{3,4}-?\d{6,9} 這裡僅僅是舉個例子,實際

理解 Java 表示式怪異的 \\ \\\\,讓您見怪不怪

原文連線:http://unmi.cc/understand-java-regex-backslash/#more-2880 Java 語言裡的幾大變革,一為 jdk1.4 引入的正則表示式,jdk1.5 引入的泛型。沒有泛型之前有不少人曾想方設法從編譯器入手讓 Java

利用Python+表示式處理java函式

目標: 提取java程式碼中的函式資訊(函式名、函式返回值、函式返回值型別、函式引數) 思路 1、匹配函式頭(public static void name()) 正常的函式頭都是 以public或private或protected開頭

Java表示式之分組替換

正則表示式的子表示式(分組)不是很好懂,但卻是很強大的文字處理工具。 1 正則表示式熱身 匹配電話號碼 // 電話號碼匹配 // 手機號段只有 13xxx 15xxx 18xxxx 17xxx System.out.println("18304

表示式得到Java中所有的關鍵字

在一個Java應用程式中,我們可以用正則表示式可以得到所有的java關鍵字。那麼關鍵就是正確地使用詞邊界。例如:在"static staticField"這個字串當中,第一個單詞應該被當作關鍵字識別,但是第二個不能。這

判斷日文的表示式

[一-龠]+|[ぁ-ん]+|[ァ-ヴー]+   PHP中GBK和UTF8編碼處理 一、編碼範圍 1. GBK (GB2312/GB18030)/x00-/xff  GBK雙位元組編碼範圍/x20-/x7f  ASCII/xa1-/xff  中文/x80-/xff  中文 2.

表示式入門(java,python版本)

目錄 本文目標 正則表示式到底是什麼 正則表示式可以用來做什麼 基本語法 元字元 例項 本文目標 快速讓你知道真這個表示式是什麼,對正則表示式的概念有基本的瞭解,並且能夠在不同的程式語言中使

深入入門表示式java

很多正則引擎都支援命名分組,java是在java7中才引入這個特性,語法與.Net類似(.Net允許同一表示式出現名字相同的分組,java不允許)。命名分組很好理解,就是給分組進行命名。下面簡單演示一下java中如何使用以及注意事項。1.正則中定義名為NAME的分組(?<

js判斷數字判斷數字範圍 表示式

1)  "^//d+$"  //非負整數(正整數   +   0)       "^[0-9]*[1-9][0-9]*$"  //正整數       "^((-//d+)|(0+))$"  //非正整數(負整數   +   0)       "^-[0-9]*[1-9]