好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 正則表達式學習問答

正則表達式學習問答

熱門標簽:地圖標注店鋪地圖標注酒店 山東外呼系統聯系方式 遼寧秒客來電話機器人 惠安地圖標注 自己做的電銷機器人 浙江營銷外呼系統有哪些 上海銷售電銷機器人軟件 淄博市張店區地圖標注 哈爾濱公司外呼系統代理

舉個簡單的例子吧,Unix下的usr、dev等名字,就是那時留傳下來的,現在已經有很多人詬病了,usr不是user,dev不是device,難學,也難記。經過這些年的飛速發展,當年的很多問題已經被包裝得美輪美奐,如今的用戶可能更習慣直接點擊“用戶目錄”、“驅動器”之類的圖標,再也不用為那些不規則的簡短名字發愁。但是不幸的是,一直以來正則表達式的語法卻沒有太多的變化,甚至后續增加的功能,也沿襲了之前的語法風格,在編程語言日漸人性化的今天,它自然顯得非常難懂了。今天的開發人員可能更習慣Regex.CharRange(‘a', ‘z')這樣的寫法,而不習慣[a-z];遇到(?![a-z])這樣的結構就更是抓瞎,除非轉為Regex.CheckRight(Regex.CharRange(‘a', ‘z'))的寫法。

不過,換一個角度來看,兩者其實是一回事,只是表現形式不同,一個類似要訣,一個類似大白話。如果我們能在頭腦里構建出從要訣到大白話的轉換,正則表達式就簡單了許多,甚至可以說就是模塊的拼接。比如支付寶的流水號為18或26位數字,用正則表達式匹配,就是^([0-9]{18}|[0-9]{26})$,或者^[0-9]{18}([0-9]{8})?$。其中的邏輯很簡單:^用來鎖定開頭,$用來鎖定結尾,[0-9]匹配數字字符,([0-9]{18}|[0-9]{26})表示兩個并列的選項,即數字字符串長度為18位或26位,而[0-9]{18}([0-9]{8})?表示至少需要出現18位的數字字符串,在這之后可能還有一個8位的數字字符串(所以總長度是26位)。一般的正則表達式應用,就是這么簡單。

如果你覺得上面說的沒錯,那么學習正則表達式的難題就只剩下了選擇得當的方法。我們學習編程語言時,都強調不能只看書,要動手寫程序,甚至最好的辦法是把書上的例子親自輸入運行一遍,這樣才算真正學會了。但在許多人眼里,正則表達式或許算不上編程語言,所以學習是點到即止,甚至是滿足于從網絡上抄一些現成的表達式。所以,常見的問題之一是“有沒有什么學習的捷徑”,很不幸,答案是沒有——既然拷貝他人的代碼不能學會編程,抄閱現成的表達式、隨便翻幾篇文檔,當然也學不會正則。不過也有幸運的消息,真正學會正則表達式并不需要花太長的時間。

以我的經驗,學習正則表達式,真正要做的是深入理解常用功能:字符組、多選分支、匹配模式、環視??梢哉f,弄明白了這幾點,80%的正則問題都可以解決。但是要弄明白這幾點,就需要專門的學習:字符組是解決什么問題的,它是怎么使用的?多選分支是解決什么問題的,它是怎么使用的?應當抽一些時間專門學習、思考;這些都弄明白了,再研究解決復雜問題的表達式是怎么構成的。如果你可以每天抽1-2小時專門學習,兩周內就會有明顯收效,一個月幾乎就可以修煉到相當水平。而且,以我的經驗,在學習新的編程語言時,不但要把書上的例子都親自輸入運行一遍,更要自己動手去改一改示例代碼,看看會出現什么現象,再想想為什么會這樣。如果你在學習正則表達式時也做到這一點,必然能夠事半功倍。

如果你真正理解了這些常用功能,對它們的價值和使用有清晰的概念,那么另一個麻煩也就迎刃而解了——不同語言的正則表達式不同,如何解決?雖然不同語言中的正則表達式規定各有不同,但背后的思想是統一的,不同的只是表現形式,或者說概念的落地方式。好處在于,編程語言的文檔不會詳細講解什么是字符組,什么是多選分支,但會詳細告訴你字符組在本語言中是如何表示的,多選分支又是如何表示的(不信你可以在這些文檔中搜索character class或者alternation)。所以如果你的腦子足夠清楚,即便不確定最終的表達式如何寫,也只需要查文檔就可以解決。舉個例子,匹配空白字符的字符組\s,在Java字符串中要寫作\\s,因為\s并不是Java字符串中的一個合法轉義序列,所以之前還必須有\來轉義\;在PHP中可以直接寫作\s,因為PHP處理字符串時會把無法識別的轉義序列原封不動地保存下去;在Unix下的某些工具中,必須寫作[[:space:]],這是Perl風格的\s在POSIX規范中的表示法??雌饋肀容^麻煩,也僅此而已,因為我們知道,這里需要用到的,就是“匹配空白字符的字符組”。

以上寫了這么多,可能有人會說:正則表達式這東西,不登大雅之堂,沒必要花那么多精力。或許正是這種觀點,形成了“不認真學習正則表達式”思想根源。幸運的是,這個問題其實很好想明白,因為很多事情都是這個道理。比如寫文章,我們不要求人人都是作家,但是人人都有可能在需要的時候寫出幾篇拿得出手的正經文章,“不是作家”并不是“需要時寫不出正經文章”的理由。為了能在需要的時候寫出正經文章,就必須專門抽出時間來學習和聯系寫作。正則表達式的學習,其實也是這個道理。

您可能感興趣的文章:
  • php 正則表達式學習筆記
  • 正則表達式口訣_學習正則的朋友值得一看
  • 正則表達式口訣 正則表達式學習工具
  • 正則表達式 學習資料整理
  • 正則表達式 學習參考 推薦入門者看
  • JS 正則表達式(學習筆記2)匹配網址url參數
  • Python模塊學習 re 正則表達式
  • javascript的正則表達式學習資料復習
  • 重溫JavaScript中的正則表達式 js學習筆記
  • Java 正則表達式學習總結和一些小例子
  • MySql官方手冊學習筆記2 MySql的模糊查詢和正則表達式
  • js 正則表達式學習筆記之匹配字符串
  • Powershell學習筆記--使用正則表達式查找文件
  • 正則表達式詳細介紹(上)

標簽:西安 綿陽 長沙 宣城 無錫 重慶 銅川 泰州

巨人網絡通訊聲明:本文標題《正則表達式學習問答》,本文關鍵詞  正則,表達式,學習,問答,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《正則表達式學習問答》相關的同類信息!
  • 本頁收集關于正則表達式學習問答的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美做受???高潮电影o| 免费观看的男女羞羞视频| 偷看女换内卫生巾偷拍| 欧美激情视频在线播放| 手机看片国产高清| 吾色网站| 宝贝乖~腿开大一点就不疼了| 国产三级网页| 武则天撅着屁股水多| 东安县| 国产电影麻豆入口| 性高湖久久久久久久久| 啊灬啊灬啊快日出水了滢荡少妇| 免费 成 人 黄 色 小说软件| 四级黄色片| 玩弄奶头(高H)| 操美女骚b| 峨山| 国产大奶| 哦┅┅快┅┅用力啊┅富婆| 亚洲AV无码秘?蜜桃希岛爱理| 欧美69性影院| 操处女逼视频| 五月婷婷亚洲| 国产 欧美 综合 精品一区二区| 18videosexcartoon| 肏b| 边亲边摸胸| 粉嫩在线观看| 99在线无码精品| 一级做a爰片欧美AAAA片直播| 把舌头伸进去她腿间的花缝| 亚洲香蕉中文网| 全肉共妻产乳H宋氏| 久久精品秘?一区二区三天美小说| 艳母发情| 强行按在桌上糟蹋进入| 麻豆??视频在线观看免费网站黄 | 黄色激情小视频| 纯肉高H粗大伦理| 国产精品亚洲AV天堂熟女一级|