想請教*與+ 配對上,對於0~1+與 1~1+的差異?
2020/12/01 下午 02:01
正規表達式
鄭偉廷
觀看數:18
回答數:2
收藏數:0
在homework中的問題, 有些可以用 + or \*來配對(甚至有時可以互換)。 唯差異在於 step上多與少。 例如我HW1的電話號碼配對 1.\d\*\d(68 steps) 2.\d+(34 steps) 3.\d\d\*(44 steps) 4.\d{1,}(33 steps) 但是在HW3: 電子郵件配對中 若使用 1.(.*)@(?!gmail)則為284steps 2.(.+)@(?!gmail)則為1771steps 好奇差異為何這麼多(與運算邏輯有關係嗎?)
回答列表
-
2020/12/02 下午 02:15張維元 (WeiYuan)贊同數:2不贊同數:0留言數:0
嗨,你好
這是正則化的差異: * 「**」 表示前一個字元可以是 0 個或多個,例如 /ab*c/,因此 ac, abc, abbbbc 都符合規則。 * 「+」 表示前一個字元可以是 1 個或多個,例如 /a+b/ ,ab, aaaaab 都符合規則。
嗨,你好,我是維元,持續在不同的平台發表對 #資料科學、 #網頁開發 或 #軟體職涯 相關的文章。如果對於內文有疑問都歡迎與我們進一步的交流,都可以追蹤我的 Facebook 或 技術部落格 ,也會不定時的舉辦分享活動,一起來玩玩吧 ヽ(●´∀`●)ノ
-
2020/12/02 下午 02:22Paul贊同數:2不贊同數:0留言數:0
輯上(.*) 可直接忽略,但(.+)至少要確認有字符