日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正则表达式 学习笔记4.3

發布時間:2023/12/6 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正则表达式 学习笔记4.3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
下面看看逆序環視結構: public?class?GeneralSix?{ public?static?void?main(String[]?args)?{ String[]?strings?=?new?String[]{"see","bee","tee"};????? String[]?regexs?=?new?String[]{"(?<=s)ee","(?<!s)ee"}; for(String?regex:regexs){ for(String?str:strings){ Pattern?p?=?Pattern.compile(regex); Matcher?m?=?p.matcher(str); if(m.find()){ System.out.println("\""?+?str?+"\"?能夠匹配正則:"+regex); }else{ System.out.println("\""?+?str?+"\"?不能夠匹配正則:"+regex); } } System.out.println(""); } } } 運行結果: "see"?能夠匹配正則:(?<=s)ee "bee"?不能夠匹配正則:(?<=s)ee "tee"?不能夠匹配正則:(?<=s)ee "see"?不能夠匹配正則:(?<!s)ee "bee"?能夠匹配正則:(?<!s)ee "tee"?能夠匹配正則:(?<!s)ee (?<=s)ee 肯定逆序環視結構,用來查找前面為see (?<!s)ee 否定逆序環視結構,用來查找之前不為see 環視的注意事項: l?環式結構僅用于布爾判斷,結構內的子表達式所匹配的文本,不會保存在整個表達式的匹配結果中 l?逆序環視結構對子表達式存在限制 逆序環視結構的限制 l?PerlPython:逆序環視結構中的子表達式必須為固定長度 就是不能使用任何量詞,也不能使用多選分支,長度不相同的多選結構 l?PHPJava:逆序環視結構中的子表達式可以不定長度,但必須由上限 就是不能使用?*+?這樣的量詞。 l?.NET:逆序環視結構中的子表達式完全沒有限制 從這個意義上說,.NET的正則表達式是做的最好的。 環視應用實例: l?修整數值 l?要求:在數值中的合適位置插入逗號,將其修整為便于閱讀的形式 l?舉例: ·1234567890->1,234,567,890 ·123456->123,456 環視應用實例: l?需要插入逗號的位置: ·左側至少出現一位數字,右側出現的數字位數是3的倍數 l?正則表達式: ·(?=\d)(?=(\d{3}+)) public?class?GeneralSeven?{ public?static?void?main(String[]?args)?{ String[]?numbers?=?new?String[]{"123456","1234567890"};????? String?regex?=?"(?<=\\d)(?=(\\d{3})+)"; for(String?number:numbers){ System.out.println("替換前:"+number); System.out.println("替換后:"+number.replaceAll(regex,?",")); } } } 運行結果: 替換前:123456 替換后:1,2,3,456 替換前:1234567890 替換后:1,2,3,4,5,6,7,890 這個結果有問題,123456應該顯示為,123456 1234567890?應該為:1234567890 問題出在: ?"(?<=\\d)(?=(\\d{3})+)"; 右邊出現的是3的倍數,對這個字符串長度,就是匹配到哪個為止,我們并沒有限定。 對肯定順序環結構對字符串的匹配加以更準確的限制。 應該再添加一個否定循環結構: String?regex?=?"(?<=\\d)(?=(\\d{3})+(?!\\d))"; 替換前:123456 替換后:123,456 替換前:1234567890 替換后:1,234,567,890 小結: l?錨點:規定匹配的位置 ·?\b^、$、\A、\Z l?環視:以子表達式對位置進行判斷 ·(?=)、(?!) ·(?<)(?<!) ·環視只能進行布爾判斷 ·逆序環視的限制 正則表達式 學習筆記4 完! 本文轉自jooben 51CTO博客,原文鏈接:http://blog.51cto.com/jooben/318587

總結

以上是生活随笔為你收集整理的正则表达式 学习笔记4.3的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。