判斷是否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_!~*'().&=+$%-]
+ "(([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的正則表示式【Java和javascript】字串是否包含中文
/** * 頂級域名判斷;如果要忽略大小寫,可以直接在傳入引數的時候toLowerCase()再做判斷 * @param str * @return */ public static boolean isTopURL(String str){
JAVA正則表示式區分IPv4和IPv6地址
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:正則表示式、Pattern和Matcher類小結
最近在實際開發中遇到了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]