精通正則表達式是種怎樣的體驗?不能算多精通,只是會了正則以后就會想著用正則解決各種問題,就像上帝又給你打開一扇窗 。
平時分析日志什么的不在話下,有時還能做一些用框架或很復雜的方法才能做到的事 。
比如想用Python寫點腳本抓數據 , 定義好SQL以后中以根據SQL來生成Python的Entity代碼,然后用反射寫DAO,這樣寫完SQL你就有現成的DAO可以用了,這也算是一個簡單的ORM吧,雖然可以用Django等框架,但用自己生成的代碼還是很爽的,想怎么改就怎么改 。
根據SQL生成Entity的代碼:
#!/usr/bin/perl -W
if (!$ARGV[0])
{
print "Usage: $0 \n";
print "Example: $0 test.sql > entity.py\n";
exit;
}
print "#!/usr/bin/python\n# vim:set fdm=indent:\n# Please do NOT modify this file, it was generated by a Perl script, a next generate will restore all your work.\n\n";
print "class Entity:\n\tdef __str__(self):\n\t\treturn '\\n'.join(map(lambda attr: '%s: %s' %(attr, str(getattr(self, attr))), filter(lambda attr: not attr.startswith('__'), dir(self))))\n\n";
open FILE, $ARGV[0];
while ()
{
s/\r//g;
s/^\n$//;
s/^\(.*\n//;
s/^\s*(BEGIN|COMMIT|GRANT|CONSTRAINT|DROP).*\n//i;
s/^\s*USE\s+\w+.*\n//i;
s/^\s*\w*\s*KEY.*\n//i;
s/^\s*CREATE\s*DATABASE.*\n//i;
s/^(\s*)\/\*(.*)\*\/.*/$1#$2/;
s/^\s*CREATE\s*TABLE\s*(?:IF\s*NOT\s*EXISTS\s*)?(\w+)\s*\(?$/class $1Entity(Entity):\n\tdef __init__(self):\n/i;
s/(?<=^class )(\w)/\U$1/;
s/(?<=^class )(\w*?)_(\w)/$1\U$2/g while /^class.*?_/;
s/^\s*(\w+)\s+\w*INT.*$/\t\tself.$1 = 0/i;
s/^\s*(\w+)\s+DECIMAL.*$/\t\tself.$1 = 0/i;
s/^\s*(\w+)\s+BOOLEAN.*$/\t\tself.$1 = False/i;
s/^\s*(\w+)\s+TIMESTAMP.*$/\t\tself.$1 = 0/i;
s/^\s*(\w+)\s+\w*CHAR.*$/\t\tself.$1 = ''/i;
s/^\s*(\w+)\s+TEXT.*$/\t\tself.$1 = ''/i;
s/^\s*(\w+)\s+DATETIME.*$/\t\tself.$1 = ''/i;
s/^\).*//;
print
}
print "if __name__ == '__main__':\n\tprint(UserEntity())"
《精通正則表達式》 中文版 下載http://download.csdn.net/source/240872
先注冊,記住這個網站 , 需要啥就在這里找 。
精通正則表達式中文第三版下載地址http://www.jb51.net/do/plus/jb51_down.php?aid=45&dxy=3
精通正則表達式的人:請問C#的正則對克萊尼代數支持嗎支持,從語義上支持Kleene star,但并非從表達式的語法上一模一樣 。
比如克萊尼{"ab","c"}* 的正則寫法為 (ab|c)+,即匹配所有的
"ab", "c", "abab",
"abc", "cab", "cc", "ababab",
這些情況
尋找精通正則表達式(regexp)在matlab中應用的大俠正則表達式對象
對象,它包含正則表達式模式,并說明如何應用模式的標志 。
語法
RE = /模式/ [標志]
語法2
RE =新的RegExp(“圖案”,“標志” ;])
參數
重新
要求 。將被分配到的正則表達式模式的變量名稱 。
模式
要求 。要使用正則表達式模式 。如果使用語法1 , 用一個“/”字符模式 。如果語法2,引號引起的模式 。
標志
選項 。如果您使用的語法使用引號標志將導致 。該標志可以組合使用,可用:
克(全文查找出現的所有pattern)
i(忽略大小寫)
M(多行搜索) / a>
全局RegExp對象正則表達式對象相混淆 。雖然這聽起來像同樣的事情,但他們有很大的不同 。正則表達式對象的屬性只包含一個正則表達式和全局RegExp對象的屬性包含的信息不斷更新,每場比賽 。
正則表達式對象保存找到的字符串中的字符組合使用的模式 。創建正則表達式對象,或在通過后的字符串的方法,或者字符串被傳遞給一個正則表達式的方法 。最近搜索的信息被保存在全局RegExp對象 。
當你事先知道搜索字符串的語法1 。查找的字符串經常變化,或不知道用語法2,如由用戶輸入的字符串 。
之前使用模式參數被編譯成內部格式 。語法1 , 加載的腳本,模式編譯 。對于語法2,模式之前,使用或調用編譯方法編制 。
----------- ,
exec方法
正則表達式模式在字符串中查找,并返回包含數組的搜索結果,。
rgExp.exec(STR)
參數
rgExp
要求 。包含正則表達式模式和標志的正則表達式對象 。
海峽
要求 。在其中執行查找的String對象或字符串文字 。
exec方法沒有找到匹配,則返回null 。如果它發現一個匹配 , 則exec方法返回一個數組,并且更新全局RegExp對象的屬性以反映匹配的結果 。0的數組元素中包含的完全匹配,1到n的元素包含在任何匹配的子匹配 。這相當于沒有設置全局標志(g)的比賽 。
如果正則表達式設置全局標志,exec來lastIndex的值指示的位置開始尋找 。如果你沒有設置一個全局標志時 , exec忽略的lastIndex的值的字符串的起始位置開始搜索 。
exec方法返回一個數組具有三個屬性的輸入 , index和lastIndex 。輸入屬性包含了整個搜索字符串 。索引屬性包含查找字符串匹配的子串的位置 。lastIndex屬性包含匹配的最后一個字符的下一個位置 。
例如
下面的例子說明了exec方法使用:
功能RegExpTest(){
VAR版=(ScriptEngineMajorVersion()+“ 。” + ScriptEngineMinorVersion())
(版本> = 5.5){/ /測試JScript版本 。
VAR SRC =https://www.zaoxu.com/jjsh/bkdq/“西班牙的雨主要落在平原上 。”;
VAR RE = / \ w + /克; / /創建一個正則表達式模式 。
VAR改編;
((ARR = re.exec(SRC))!= NULL)
的document.write(arr.index +“ - ”+ arr.lastIndex +“\ T“+ ARR);}
其他{
alert(”請使用更新版本的JScript);}
}
什么叫精通正則表達式正則表達式30分鐘入門教程:
http://www.ourxjd.cn/FunDisplay.asp?HeadName=網頁及編程&StrNewsID=20061207150538
正則表達式概念:
如果原來沒有使用過正則表達式,那么可能對這個術語和概念會不太熟悉 。不過,它們并不是您想象的那么新奇 。
請回想一下在硬盤上是如何查找文件的 。您肯定會使用 ? 和 * 字符來幫助查找您正尋找的文件 。? 字符匹配文件名中的單個字符,而 * 則匹配一個或多個字符 。一個如 'data?.dat' 的模式可以找到下述文件:
data1.dat
data2.dat
datax.dat
dataN.dat
如果使用 * 字符代替 ? 字符,則將擴大找到的文件數量 。'data*.dat' 可以匹配下述所有文件名:
data.dat
data1.dat
data2.dat
data12.dat
datax.dat
dataXYZ.dat
盡管這種搜索文件的方法肯定很有用,但也十分有限 。? 和 * 通配符的有限能力可以使你對正則表達式能做什么有一個概念 , 不過正則表達式的功能更強大,也更靈活 。
---------------------------------------------------------------
早期起源
正則表達式的“祖先”可以一直上溯至對人類神經系統如何工作的早期研究 。Warren McCulloch 和 Walter Pitts 這兩位神經生理學家研究出一種數學方式來描述這些神經網絡 。
1956 年, 一位叫 Stephen Kleene 的美國數學家在 McCulloch 和 Pitts 早期工作的基礎上,發表了一篇標題為“神經網事件的表示法”的論文,引入了正則表達式的概念 。正則表達式就是用來描述他稱為“正則集的代數”的表達式,因此采用“正則表達式”這個術語 。
隨后,發現可以將這一工作應用于使用Ken Thompson 的計算搜索算法的一些早期研究,Ken Thompson是Unix 的主要發明人 。正則表達式的第一個實用應用程序就是 Unix 中的qed 編輯器 。
如他們所說,剩下的就是眾所周知的歷史了 。從那時起直至現在正則表達式都是基于文本的編輯器和搜索工具中的一個重要部分 。
--------------------------------------------------------------
使用正則表達式
在典型的搜索和替換操作中,必須提供要查找的確切文字 。這種技術對于靜態文本中的簡單搜索和替換任務可能足夠了,但是由于它缺乏靈活性 , 因此在搜索動態文本時就有困難了,甚至是不可能的 。
使用正則表達式,就可以:
測試字符串的某個模式 。例如 , 可以對一個輸入字符串進行測試,看在該字符串是否存在一個電話號碼模式或一個信用卡號碼模式 。這稱為數據有效性驗證 。
替換文本 。可以在文檔中使用一個正則表達式來標識特定文字,然后可以全部將其刪除,或者替換為別的文字 。
根據模式匹配從字符串中提取一個子字符串 。可以用來在文本或輸入字段中查找特定文字 。
例如,如果需要搜索整個 web 站點來刪除某些過時的材料并替換某些HTML 格式化標記,則可以使用正則表達式對每個文件進行測試,看在該文件中是否存在所要查找的材料或 HTML 格式化標記 。用這個方法,就可以將受影響的文件范圍縮小到包含要刪除或更改的材料的那些文件 。然后可以使用正則表達式來刪除過時的材料,最后,可以再次使用正則表達式來查找并替換那些需要替換的標記 。
另一個說明正則表達式非常有用的示例是一種其字符串處理能力還不為人所知的語言 。VBScript 是 Visual Basic 的一個子集 , 具有豐富的字符串處理功能 。與 C 類似的 Jscript 則沒有這一能力 。正則表達式給 JScript 的字符串處理能力帶來了明顯改善 。不過,可能還是在 VBScript 中使用正則表達式的效率更高,它允許在單個表達式中執行多個字符串操作 。
---------------------------------------------------------------
建立正則表達式
構造正則表達式的方法和創建數學表達式的方法一樣 。也就是用多種元字符與操作符將小的表達式結合在一起來創建更大的表達式 。
可以通過在一對分隔符之間放入表達式模式的各種組件來構造一個正則表達式 。對 JScript 而言 , 分隔符為一對正斜杠 (/) 字符 。例如:
/expression/
對 VBScript 而言 , 則采用一對引號 ("") 來確定正則表達式的邊界 。例如:
"expression"
在上面所示的兩個示例中 , 正則表達式模式 (expression) 均存儲在RegExp 對象的Pattern 屬性中 。
正則表達式的組件可以是單個的字符、字符集合、字符范圍、字符間的選擇或者所有這些組件的任意組合 。
精通正則表達式的,近來幫幫忙查找
((?:Table::(?:UpdateCache|Count|Fetch)|DB::(?:LimitQuery|GetQueryResult))\(')(user|invite|ask)'
替換
\1sot_\2'
有關正則表達式的問題上面那個是一個很好的驗證郵箱地址的正則表達式!你可以按照下面“斷句”的思想來理解!
/(^
1. (?!(\.|-|_))
2. (?![a-zA-Z0-9\.\-_]*(\.|-|_)@)
3. [a-zA-Z0-9\.\-_]+@
4. (?!.{64,}\.)
5. (?![\-_])
6. (?![a-zA-Z0-9\-_]*[\-_]\.)
7. [a-zA-Z0-9\-_]+
8. (\.\w+)+
$)/
首先你必須知道正則表達式中的斷言(?!exp)這個結構的意思是“匹配后面跟的不是exp的位置”,所以
其中1的作用為:郵箱地址不能以.-_這三個字符中的任意一個作為郵箱地址的開始部分
其中2的作用為:郵箱地址中不能包括無效的@符號,如:xudianyang@xu@126.com中@xu就視為無效的部分,驗證郵箱地址時xudianyang@xu@126.com不合法
其中3的作用為:匹配合法的@部分前面內容 , 如:xudianyang@126.com中的xudianyang@部分
其中4的作用為:郵箱地址中如:xudianyang@126.com中的126部分內容長度不能超過64并且不能包含有.點號這個字符
其中5的作用為:郵箱地址中如:xudianyang@126.com中的126部分內容不能以-_兩個字符
中的任意一個開始
其中6的作用為:郵箱地址中如:xudianyang@126.com中的126部分不能為126_.或者126-.
其中7的作用為:匹配郵箱地址如:xudianyang@126.com中的126部分
其中8的作用為:匹配郵箱地址如:xudianyang2126.com中的.com部分
整個正則表達式的作用就是用來匹配一個合法的郵箱地址,如果對正則表達式的斷言結構理解清楚,上述的表達式還是容易理解的!
祝你成功!
哪位大俠精通正則表達式 求教大俠www.regular-expression.info
我就是看這個網站的 , 從無到自認小懂
精通正則表達式的內容簡介本書適合廣大Web網站開發人員、網站管理維護人員和大中專院校學生閱讀,尤其適合從事與字符串處理相關工作的Web編程技術人員參考 。
精通正則表達式的目錄 第1章 正則表達式概述 31.1 什么是正則表達式 31.2 第一個正則表達式 41.3 測試工具 5第2章 正則表達式基礎理論 72.1 元字符 72.1.1 匹配位置的元字符 82.1.2 匹配字符的元字符 82.1.3 元字符總結 92.2 字符類 122.3 字符轉義 142.4 反義 142.5 限定符 152.6 替換 212.7 分組 232.8 后向引用 242.9 零寬度斷言 252.10 負向零寬度斷言 272.11 匹配選項 272.12 注釋 282.13 優先級順序 282.14 遞歸匹配 292.15 典型正則表達式解釋 30第3章 數字驗證 333.1 數值驗證 333.1.1 只包含數字 333.1.2 整數驗證 373.1.3 指定范圍的整數驗證 383.1.4 實數驗證 423.1.5 指定精度的實數驗證 453.1.6 科學計數法的數值驗證 453.1.7 二進制數值驗證 463.1.8 八進制數值驗證 473.1.9 十六進制數值驗證 493.2 電話號碼驗證 503.2.1 手機號碼驗證 503.2.2 固定電話號碼(不包括區號)驗證 513.2.3 “區號+固定電話號碼”驗證 533.2.4 “區號+固定電話號碼+分機號碼”驗證 543.2.5 固定電話號碼驗證總結 553.3 郵政編碼驗證 573.3.1 國內郵政編碼驗證 573.3.2 國際郵政編碼驗證 573.4 IP地址驗證 583.4.1 簡單IP地址驗證 583.4.2 精確IP地址驗證 593.4.3 子網內部IP地址驗證 603.4.4 64位IP地址驗證 613.5 身份證驗證 633.5.1 15位身份證號碼驗證 633.5.2 18位身份證號碼驗證 643.6 銀行卡號驗證 653.6.1 銀行卡號驗證 653.6.2 信用卡卡號驗證 653.6.3 中國建設銀行卡號驗證 663.6.4 中國工商銀行卡號驗證 663.6.5 中國農業銀行卡號驗證 66第4章 字符串驗證 674.1 英文單詞驗證 674.1.1 小寫單詞驗證 674.1.2 大寫英文單詞驗證 684.1.3 英文單詞的分隔符驗證 694.1.4 不包含驗證 714.1.5 具有重復特征的英文單詞驗證 744.2 文件名稱和文件路徑驗證 764.2.1 通配符 764.2.2 指定文件擴展名的驗證 764.2.3 指定文件名的驗證 774.2.4 包含指定字符串的文件全名驗證 784.2.5 排除兩端存在空白字符的文件全名驗證 794.2.6 文件路徑驗證 814.3 網絡常用元素驗證 824.3.1 電子郵件驗證 824.3.2 主機名稱驗證 834.3.3 HTTP地址驗證 854.3.4 FTP地址驗證 864.4 非單詞字符串驗證 864.4.1 英文標點符號驗證 874.4.2 中文標點符號驗證 874.4.3 中文文本驗證 884.4.4 特殊字符驗證 884.4.5 密碼驗證 894.4.6 字符表的分類 93第5章 數字和字符混合驗證 955.1 日期和時間驗證 955.1.1 年驗證 955.1.2 月驗證 965.1.3 日驗證 975.1.4 年月日格式的日期驗證 985.1.5 24小時制時分秒格式的時間驗證 995.1.6 12小時制時分秒格式的時間驗證 1005.1.7 帶毫秒的時間驗證 1025.1.8 長格式的日期和時間驗證 1035.2 通用車牌號碼驗證 1045.3 數學表達式驗證 1065.3.1 操作數驗證 1065.3.2 操作符驗證 1075.3.3 簡單數學表達式驗證 1075.3.4 只含操作數和操作符的數學表達式驗證 1085.3.5 含小括號的數學表達式驗證 1095.4 編碼規范驗證 1115.4.1 類名稱驗證 1115.4.2 聲明變量表達式驗證 1125.4.3 函數名稱驗證 1125.4.4 聲明函數表達式驗證 113第6章 驗證和處理HTML元素 1176.1 HTML元素驗證基礎 1176.1.1 HTML標記驗證 1176.1.2 非封閉HTML標記驗證 1196.1.3 封閉HTML標記驗證 1196.1.4 屬性賦值表達式驗證 1206.1.5 HTML中的注釋驗證 1246.1.6 HTML中的腳本代碼塊驗證 1256.2 非封閉的HTML元素驗證 1266.3 封閉的HTML元素驗證 1276.4br 元素驗證 1286.5hr 元素驗證 1306.6a 元素驗證 1336.7input 元素驗證 1376.8 處理HTML元素 1396.8.1 提取HTML標記 1396.8.2 提取HTML標記之間的內容 1406.8.3 提取URL 1416.8.4 提取圖像的URL 1426.8.5 提取HTML頁面的標題 142 第7章 C#常用數據類型檢查與轉換 1477.1 數值數據類型檢查與轉換 1477.1.1 整數檢查 1477.1.2 實數檢查 1497.1.3 整數和字符串之間的轉換 1507.1.4 浮點數和字符串之間的轉換 1517.2 布爾數據類型檢查與轉換 1537.2.1 布爾值檢查 1537.2.2 布爾值和字符串之間的轉換 1537.3 時間數據類型檢查與轉換 1547.3.1 時間數據類型檢查 1547.3.2 時間和字符串之間的轉換 1557.4 數據類型檢查與轉換應用實例 156第8章 字符串處理 1588.1 不變字符串String處理 1588.1.1 String類和對象 1588.1.2 插入字符串 1598.1.3 刪除字符串 1608.1.4 替換字符串 1608.1.5 分割字符串 1618.1.6 填充字符串 1618.1.7 比較字符串 1628.1.8 連接字符串 1638.1.9 處理字符串中的空白 1658.1.10 轉換字符串大小寫 1658.1.11 匹配和檢索字符串 1668.1.12 獲取子字符串 1688.1.13 格式化字符串 1698.1.14 編碼字符串 1698.1.15 不可變字符串String處理的應用 1708.2 可變字符串StringBuilder處理 1728.2.1 StringBuilder類和對象 1728.2.2 追加字符串 1728.2.3 插入字符串 1748.2.4 刪除字符串 1768.2.5 替換字符串 1768.2.6 復制字符串 1778.2.7 處理字符串容量 1788.2.8 可變字符串StringBuilder處理的應用 179第9章 .NET框架中正則表達式的應用 1819.1 .NET框架中的正則表達式類庫 1819.1.1 System.Text.RegularExpressions名字空間 1819.1.2 正則表達式類Regex 1829.1.3 正則表達式選項 1839.1.4 檢查是否匹配表達式 1839.1.5 匹配單個匹配項 1859.1.6 匹配多個匹配項 1869.1.7 替換 1889.1.8 使用委托MatchEvaluator處理匹配結果 1899.1.9 獲取分組名稱 1909.1.10 分割表達式 1909.2 使用正則表達式類Regex處理字符串 1919.2.1 只包含數字驗證 1919.2.2 整數驗證 1919.2.3 實數驗證 1929.2.4 電話號碼驗證 1929.2.5 郵政編碼驗證 1929.2.6 身份證號碼驗證 1929.2.7 銀行卡號驗證 1939.2.8 日期和時間驗證 1939.2.9 車牌號碼驗證 1939.2.10 IP地址驗證 1949.2.11 電子郵件驗證 1949.2.12 URL驗證 1949.2.13 提取網頁標題 1949.2.14 提取網頁中的HTTP地址 1969.2.15 提取網頁中的圖像地址 197第10章 數據驗證 19910.1 驗證概述 19910.2 非空驗證 20110.2.1 無初始值的非空驗證 20110.2.2 指定初始值的驗證 20210.3 范圍驗證 20310.3.1 整數范圍驗證 20310.3.2 字母范圍驗證 20410.3.3 日期范圍驗證 20510.4 比較驗證 20610.4.1 兩個控件內容的比較驗證 20610.4.2 指定的值和控件內容的比較驗證 20710.4.3 檢查控件內容的數據類型 20810.5 正則表達式驗證 20910.5.1 整數驗證 20910.5.2 數值驗證 21010.5.3 電話號碼驗證 21110.5.4 身份證號碼驗證 21210.5.5 日期和時間驗證 21310.5.6 電子郵件驗證 21410.5.7 URL驗證 21510.6 自定義驗證 21710.6.1 自定義服務器端驗證 21710.6.2 自定義客戶端驗證 21810.7 顯示驗證摘要 21910.7.1 在網頁上顯示驗證摘要 22010.7.2 在對話框上顯示驗證摘要 220 第11章 ASP數據類型及其轉換 22511.1 VBScript數據類型 22511.2 VBScript數據類型判斷 22611.2.1 判斷變量是否為數組 22611.2.2 判斷變量是否為日期 22711.2.3 判斷變量是否為空 22811.2.4 判斷變量是否為空值 22811.2.5 判斷變量是否為數值 22911.2.6 判斷變量是否為對象 23011.2.7 獲取變量的子類型 23111.2.8 獲取變量的類型信息 231第12章 ASP字符串處理 23312.1 字符串截取、組合 23312.1.1 獲取字符串長度 23312.1.2 正向截取字符串 23412.1.3 反向截取字符串 23412.1.4 從中截取字符串 23512.1.5 刪除字符串前導空格 23612.1.6 刪除字符串后導空格 23612.1.7 刪除字符串前后導空格 23712.1.8 將數組元素連接為字符串 23812.1.9 切分字符串 23812.2 字符串查找、替換 23912.2.1 正向查找字符串 23912.2.2 反向查找字符串 24112.2.3 字符串替換 24212.3 字符串轉化 24312.3.1 字符串小寫轉化 24312.3.2 字符串大寫轉化 24412.3.3 字符串倒序排列 24512.3.4 構造指定元素的字符串 24612.3.5 構造空格字符串 247第13章 ASP中正則表達式的應用 24813.1 正則表達式對象RegExp概述 24813.1.1 創建正則表達式對象 24813.1.2 指定正則表達式 24813.1.3 進行正則匹配檢驗 24913.2 提高匹配效率 25013.2.1 設置匹配范圍 25013.2.2 指定忽略大小寫 25013.2.3 進行正則匹配替換 25113.3 匹配集合Matches 25213.3.1 獲取Matches集合 25213.3.2 Matches集合與Match對象 253 第14章 PHP數據類型及其轉換 25914.1 PHP常見數據類型 25914.1.1 布爾型 25914.1.2 NULL型 26014.1.3 整型 26014.1.4 浮點型 26014.1.5 字符串 26014.1.6 數組 26214.1.7 對象 26314.2 類型轉換 26414.2.1 變量類型變化 26414.2.2 強制類型轉換 26614.2.3 字符串轉換 26814.2.4 數值轉換 26914.2.5 數組轉換 269第15章 PHP字符串處理 27015.1 字符串分析 27015.1.1 訪問字符串中的字符 27015.1.2 處理子字符串 27115.1.3 分割字符串 27315.2 字符串的整理 27515.2.1 刪除字符串的空白 27515.2.2 字符串的填充 27615.2.3 字符串大小寫的轉換 27715.2.4 字符串的反轉 27815.3 字符串的比較 27815.3.1 按ASCII碼順序比較 27815.3.2 按“自然排序”法比較 28015.3.3 按相似性比較 28115.4 字符串的查找和替換 28215.4.1 查找字符串 28215.4.2 替換字符串 28315.5 字符串的格式化 28615.5.1 格式化數字 28615.5.2 格式化字符串 28615.6 處理HTML和URL 28815.6.1 HTML實體的處理 28815.6.2 HTML標簽的清理 29015.6.3 URL字符串的解析 29115.6.4 URL編碼處理 29315.6.5 查詢字符串的構造 293第16章 PHP中正則表達式的應用 29516.1 POSIX擴展庫正則表達式函數 29516.1.1 模式匹配 29516.1.2 模式替換 29716.1.3 模式分割 29716.2 PCRE庫的正則表達式函數 29816.2.1 進行正則表達式匹配 29816.2.2 取得正則表達式的全部匹配 29916.2.3 返回與模式匹配的數組單元 30016.2.4 正則表達式的替換 30016.2.5 正則表達式的拆分 30116.3 PHP與正則表達式的綜合應用 30216.3.1 表單驗證 30216.3.2 UBB代碼 30616.3.3 分析Apache日志文件 310 第17章 JSP中數據類型及其轉化 31717.1 JSP中的常用數據類型 31717.1.1 整數類型 31717.1.2 浮點類型 32017.1.3 字符類型 32117.1.4 布爾類型 32217.1.5 字符串類型 32317.2 JSP中數據類型的轉換 32517.2.1 自動類型轉換 32517.2.2 強制類型轉換 32617.3 JSP中字符串數據的處理 32717.3.1 字符串與其他類型數據的轉換 32717.3.2 字符串的分析 32917.3.3 字符串的查找與替換 33017.3.4 字符串數據的整理 33217.3.5 字符串的比較 33317.3.6 字符串的連接 33417.3.7 字符串的格式化 335第18章 JSP中正則表達式應用 33718.1 JSP中的正則表達式函數 33718.1.1 Pattern類 33718.1.2 Matcher類 33918.1.3 正則表達式常用的4種功能 34218.2 JSP中正則表達式的常見應用示例 34618.2.1 電子郵件地址的校驗 34618.2.2 URL地址的校驗 34818.2.3 電話號碼的校驗 349 第19章 JavaScript數據類型及其轉換 35319.1 JavaScript數據類型 35319.1.1 數字類型 35319.1.2 字符串類型 35419.1.3 布爾值類型 35519.2 數據類型轉換 35619.2.1 基本數據類型轉換 35619.2.2 將字符串轉換為整數 35619.2.3 將字符串轉換為浮點數 356第20章 JavaScript字符串和數組 35720.1 字符串格式處理 35720.1.1 獲取字符串的長度 35720.1.2 根據指定的Unicode編碼返回一個字符串 35820.1.3 比較兩個字符串的大小 35820.1.4 將字符串分割并存儲到數組中 35920.1.5 將字符串轉換為小寫格式 36020.1.6 將字符串轉換為大寫格式 36020.2 字符串截取、組合 36120.2.1 返回字符串中指定位置處的字符 36120.2.2 獲取指定位置字符的Unicode編碼 36220.2.3 將一個或多個字符串連接到當前字符串的末尾 36420.2.4 從字符串中提取子串(1) 36420.2.5 從字符串中提取子串(2) 36520.2.6 從字符串中提取子串(3) 36620.3 字符串查找、替換 36720.3.1 獲取指定字符(串)第一次在字符串中出現的位置 36720.3.2 獲取指定字符(串)最后一次在字符串中出現的位置 36820.3.3 替換字符串中指定的內容 36920.4 字符串HTML格式化 37020.4.1 在字符串兩端加入錨點標志 37020.4.2 在指定字符串的兩端加上大字體標志 37020.4.3 在字符串的兩端加上粗體標志 37120.4.4 在字符串兩端加入斜體標簽 37120.4.5 在字符串兩端加上固定寬度字體標記 37220.4.6 設置字符串輸出時的前景色 37320.4.7 設置字符串輸出時的字體大小 37420.4.8 在字符串上加入超級鏈接 37520.4.9 在字符串兩端加入小字體標記 37520.4.10 在字符串兩端加入下劃線標記 37620.4.11 在字符串兩端加入下標標簽 37720.4.12 在字符串兩端加入上標標簽 37820.5 Array對象的方法 37820.5.1 連接其他數組到當前數組末尾 37820.5.2 將數組元素連接為字符串 37920.5.3 刪除數組中的最后一個元素 38020.5.4 將指定的數據添加到數組中 38020.5.5 反序排列數組中的元素 38120.5.6 刪除數組中的第一個元素 38220.5.7 獲取數組中的一部分數據 38220.5.8 對數組中的元素進行排序 38320.5.9 刪除或替換數組中的部分數據 38420.5.10 在數組前面插入數據 38520.5.11 返回一個包含數組中全部數據的字符串 386第21章 JavaScript中正則表達式的應用 38721.1 應用正則表達式對象RegExp 38721.1.1 創建正則表達式 38721.1.2 判斷字符串中是否存在匹配內容 38821.1.3 對字符串進行匹配檢測 38921.1.4 編譯正則表達式 38921.1.5 替換字符串中的指定內容 39021.2 匹配結果處理 39121.2.1 獲取字符串中所有的匹配信息 39121.2.2 獲取第一次匹配的起始位置(1) 39221.2.3 獲取第一次匹配的起始位置(2) 39321.2.4 獲取子匹配的結果 39421.2.5 獲取與正則表達式進行匹配檢測的字符串 39521.2.6 獲取匹配內容的最后一個索引位置 39521.2.7 獲取最近一次匹配的內容 39621.2.8 獲取最近一次匹配的最后一個子匹配 39721.2.9 獲取匹配內容左側的字符信息 39721.2.10 獲取匹配內容右側的字符信息 398
誰有《Mastering Regular Expressions》的中文版《精通正則表達式》的電子書http://man.lupaworld.com/content/develop/Perl/Mastering_Regular_Expressions.pdf
樓主去下吧 。。。。
暈,是英文的 , 我再找找 。
精通正則表達式的介紹《精通正則表達式》從正則表達式的基本概念、基本語法入手,著重介紹了正則表達式在數字驗證、字符串驗證、數字和字符串混合驗證、HTML處理等各個方面的應用 , 并基于目前流行的程序語言或應用環境(如C#、ASP.NET、JSP、JavaScript、PHP),全面介紹了創建正則表達式的方法,以及正則表達式在Web環境中的各種應用 。
精通正則表達式的版權信息書 名: 精通正則表達式作 者:沙金出版社:人民郵電出版社出版時間: 2008ISBN: 9787115169488開本: 16定價: 52.00 元
精通正則表達式怎么樣正則表達式非常強大,在各種語言都有相關的包或庫 。看完了前五章已經對我大有幫助!翻譯也不錯,讀起來順暢,內容包括了從入門到精通,后面幾章主要是分語言來講解正......
關于《精通正則表達式》中作者提供的案例的疑惑([^"] | (?<=\\)")*
[^"]匹配 所有非雙引號字符,(?<=\\)"匹配在反斜杠后的雙引號,中間的|表示兩者同時可以有,這兩種字符重復多次可以匹配 2\"x3\"
就像
(a|b)*
可以匹配aabb一樣,匹配到b處字符a不匹配,就會用b匹配
精通正則表達式是種怎樣的體驗我算不上精通 , 但是有時候能解決大問題
工作量特別大的那種,一瞬間解決了,很爽
精通量子力學是種怎樣的體驗依然是一頭霧水的感覺 。
就算是大師 , 薛定諤他們,也只是總結出來一些規律 。
到底為什么會是這樣,他們也不知道 。
精通正則表達式是種怎樣的體驗不知道啊不太精通
精通openGL是種怎樣的體驗在公司里做牛做馬,完成各種臟活累活,還沒辦法成功吸引到美女的注意..很慘...建議別學.
請教讓文本框只允許輸入數字和英文逗號的正則表達式"^[0-9,]+$"
匹配整個文本框的內容 。
判斷JS 文本框數值是在1-100之間的正整數 , 用正則表達式控制輸入,用FUNCTION驗證
JS腳本
function test_this()
{
var reg = /^\d+$/;
if( value.constructor === String )
{
var re = value.match( reg );
return true;
}
else
{
return false;
}
if(document.formname.num.value 100)
{
document.formname.num.focus();
return false;
}
}
js驗證如何限制文本框只能輸入數字

文章插圖
js進行數據校驗使用正則表達式會簡單很多,如下所示:1.js驗證只能輸入數字: 具體代碼如下:function check_validate1(value){var reg = /^/d+$/;// 定義正則表達式if( value.constructor === String ){// 判斷傳入的是否是字符串var re = value.match( reg );// 規則校驗return true;}return false;}2.js驗證只能輸入字母.數字和下劃線:具體代碼如下:function check_validate2(value){var reg = /^/w+$/;if( value.constructor === String ){ // 判斷傳入的是否是字符串var re = value.match( reg );return true;}return false;} 3.js驗證固定電話:只能是數字.并且有相應的格式,如(xxx-xxxxxxx 或者 xxxx-xxxxxxx):具體代碼如下:function check_validate(value){var reg = /^(/d{3,4})-(/d{7,8})/;if( value.constructor === String ){ // 判斷傳入的是否是字符串var re = value.match( reg );return true;}return false;}
js正則表達式如何驗證文本框輸入的時間格式 為下列所示樓主你好,正則匹配最重要的是你要知道所有可能的變化 。如果格式非常一致 , 就像你舉的例子一樣,那么一個很簡單的匹配,如下就能解決問題:\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}如果是變化比較多,比如年份可能是2位,分隔符不只是"-"或者":"那么單一,亦或者空格可能不止一個,也可能不是空格是tab之類的,那么就需要更復雜一點的匹配來解決上述問題 , 如下:(\d{4}|\d{2})[^\d]\d{2}[^\d]\d{2}\s+\d{2}[^\d]\d{2}[^\d]\d{2}解釋一下,開頭的“(\d{4}|\d{2})”表示年份可能是4位或者2位 。然后“[^\d]”代表一個非數字的分隔符號,后面的2個“\d{2}”代表月份和日期 。之后“\s+”代表一個或者多個空格符號 , "\d{2}[^\d]\d{2}[^\d]\d{2}"代表時間及其分隔符號 , 解釋參照上一句 。如果還有進步一的變化或者疑問,歡迎繼續留言追問 。謝謝 。
求一個文本框只能輸入數字的正則表達式,且用于B/S驗證正則表達式限制輸入框只能輸入數字代碼如下:<input type="text" onkeyup="this.value=https://www.zaoxu.com/jjsh/bkdq/this.value.replace(/[^/d]/g,'') " onafterpaste="this.value=this.value.replace(/[^/d]/g,'') " name="f_order" value="1"/其中 , onafterpaste防止用戶從其它地方copy內容粘貼到輸入框輸入框只能輸入字母和下橫線的正則表達式
求大神寫個正則表達式????源碼已發送,請查收
求個大神幫忙寫個正則表達式正則表達式:\[url="(.*)".*/url\]其中第一個匹配組就是url值
求大神幫忙寫一個正則表達式/^[\u4e00-\u9fa5]+[\.\s]?[\u4e00-\u9fa5]*$/g
關于java正則表達式,求大神幫忙![A-Z]{3}_[A-Z]{7}_[A-Z]{4}_[A-Z]{2}_\d{8}_\d{3}\.xls
正則表達式如何提取信息試試這個\!(\w+)@(\w+)#(\w+)\$
怎樣用java正則表達式從文檔中提取需要的信息?給你代碼,在一個文件夾中找那個文件中有人要查找的字符串.
-------------------------------------------------------------------
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test2 {
public static void main(String args[]) throws Exception {
execute(new File("H:\\test"), "find");
}
public static void execute(File root, String findStr) throws Exception {
File[] files = root.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
continue;
}
if (fileHandler(files[i], findStr)) {
System.out.println(files[i].getName());
}
}
}
public static boolean fileHandler(File file, String findStr)
throws Exception {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
boolean result = false;
while (br.ready()) {
String line = br.readLine();
result = findCount(line, findStr);
if (result) {
break;
}
}
br.close();
fr.close();
return result;
}
public static boolean findCount(String line, String findStr) {
Pattern p = Pattern.compile(findStr);
Matcher m = p.matcher(line);
int count = 0;
while (m.find()) {
if (!"".equals(m.group())) {
return true;
}
}
return false;
}
}
Qt正則表達式 / boost正則表達式 獲取信息【精通正則表達式】c++ 11 正則表達式可以不
- 新手怎樣才能練好書法 初學者練書法如何從入門到精通
- 鎂條在空氣中燃燒的現象和表達式 鎂條在空氣中燃燒的現象與文字表達式介紹
- 光合作用文字表達式是什么 光合作用文字表達式是啥
- 簡單愛簡譜_求《簡單愛》C調簡譜,精通音樂的請進~
- 電腦維修入門_筆記本電腦維修從入門到精通的目錄
- 精通的近義詞是什么 精通有什么近義詞
- 搞笑對聯故事_十八般武藝樣樣精通 搞笑的故事對聯,樣樣精通
- 中國古代最早精通物理學的是哪一位人物
- 最小二乘法,最小二乘法公式b表達式
- 北精通州酒樓布草洗滌費用的簡單介紹
