Re: [問題] java instance name

看板RegExp (正規表示式 Regular Expression)作者 (還在想)時間10年前 (2014/09/25 10:19), 10年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《cashlalala (快來跟我做朋友)》之銘言: : 各位大大好, : 我想要用regex來匹配 java instance 的 name : 像是 : java.temp.test@12434 : org.apache.a@3235 : abc@3546 : 然後我自己測試了一下 ^\w[.[\w]+]*@[\d]+$ ^ ^ 中括弧包住中括弧的話,裡面的那兩個左右中括弧似乎會被當作純粹的字元看待 另外因為[]符號包住的字語意是「從[]內取出任何一個字」 所以並不能保證 . 符號一定在 \w 字元之前 也因此 ........@ 的情況也會被當成合法 : 正常的case都會匹配, 但是某些錯誤的case也會被匹配到 : 像是 : abc.test........@46564 : 請問我該怎麼改呢? : 請各位大大指教 感謝! 我自己是改成這樣啦 ^\w+(\.\w+)*@\d+$ 前後都一樣,只有把原本中括弧的部分抽掉 ***** 修改:\d不用中括弧包住意思也一樣 ***** 因為我覺得中間那部分你應該是用不到中括弧 我認為你要的其實不是 「 . 或 \w 」 而是 「 . 後面接著 \w 」的情況 然後用括弧包住後面加上*表示這種組合允許完全沒有 (abc@3546) 但是如果要有就一定要是上面的規則 (org.apache.a@3235 或 org.apache@3235) 應該就是這樣吧...其實我也不是很熟,自己剛剛試這樣應該是吻合的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.18.8 ※ 文章網址: http://www.ptt.cc/bbs/RegExp/M.1411611587.A.689.html ※ 編輯: Peruheru (220.134.18.8), 09/25/2014 10:30:01
文章代碼(AID): #1K8tl3Q9 (RegExp)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1K8tl3Q9 (RegExp)