[問題] 正規表示式用來取得特殊字元位置?

看板RegExp作者 (1+1≠2)時間9年前 (2014/07/23 23:40), 編輯推噓3(300)
留言3則, 2人參與, 最新討論串1/1
假設有個字串長這樣 PHONE-0912-345-678           0123456789ABCDEFGH <--第幾個字元A代表10,B代表11..依此類推 請問有辦法透過正規表示法抓出 1. 從左邊第一個"-"到右邊第一個"-"   Output:0912-345 2. 從左邊第二個"-"取到左邊第三個"-"   Output:345 3. 從右邊第一個"-"取到右邊第三個"-" Output:0912-345 印象中,正規表示式對於「符號(字元)」好像無法判斷第幾個.. 還是說我錯了@@? 麻煩各位前輩指點 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.3.127 ※ 文章網址: http://www.ptt.cc/bbs/RegExp/M.1406130036.A.74D.html

07/23 23:57, , 1F
可以,可是要用非greedy的方式
07/23 23:57, 1F

07/24 00:01, , 2F
我想了一下,你的問題不太對,正規表示是判斷字串用
07/24 00:01, 2F

07/24 15:18, , 3F
阿就用 - 去切成陣列 再取第幾個就好了啊? 何須正規?
07/24 15:18, 3F
文章代碼(AID): #1JpzTqTD (RegExp)