logo
Loading...

想請教*與+ 配對上,對於0~1+與 1~1+的差異? - Cupoy

在homework中的問題,有些可以用 + or *來配對(甚至有時可以互換)。唯差異在於 step...

想請教*與+ 配對上,對於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:22
    Paul
    贊同數:2
    不贊同數:0
    留言數:0

    輯上(.*) 可直接忽略,但(.+)至少要確認有字符