[問題] 字串匹配問題

看板RegExp (正規表示式 Regular Expression)作者 (mardin)時間7年前 (2017/10/06 15:16), 7年前編輯推噓3(301)
留言4則, 3人參與, 7年前最新討論串1/1
/* 聽說註明使用的語言、環境 * 問題有可能較容易被解決... */ 各位先進好, 想請教一個RE的寫法, 一直想不出來 假設原始資料是 ..abc..ab..xys...xyz..ss..abc..ab..xys...xyz..sk..abc..ab..xys.sk..xyz.. 我想寫一個語法 是要從第一個 ss 到 第一個sk 之間的字串 我寫法如下 /ss([\S]*sk)/ 但取出的字串都是 ..abc..ab..xys...xyz..ss..abc..ab..xys...xyz..sk..abc..ab..xys.sk..xyz.. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 但不是我要的結果 ..abc..ab..xys...xyz..ss..abc..ab..xys...xyz..sk..abc..ab..xys.sk..xyz.. ^^^^^^^^^^^^^^^^^^^^^^^^^^ 請高手幫忙指點, 謝謝!! >>>>>> 感謝rjjq解惑 那想再問 若有 N個sk 字串, 想比匹配第N個, 語法如何寫?! 原字串 ..abc...ss..abc..ab..xys...xyz..sk..abc.sk.ab.sk.xys.sk..xyz.. ..abc...ss..abc..ab..xys...xyz..sk..abc.sk.ab.sk.xys.sk..xyz.. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 上面有 4個 sk 字串, 想匹配ss到第2個sk , 如何寫才可以, 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.29.184.1 ※ 文章網址: https://www.ptt.cc/bbs/RegExp/M.1507274203.A.CEA.html

10/06 15:21, 7年前 , 1F
(ss.*?sk)
10/06 15:21, 1F
※ 編輯: mardin (163.29.184.1), 10/06/2017 15:29:16 ※ 編輯: mardin (163.29.184.1), 10/06/2017 15:30:33

10/06 16:19, 7年前 , 2F
(ss(?:.*?sk){n}) , n = 0,1,2....
10/06 16:19, 2F

10/06 16:23, 7年前 , 3F
ss(.*?sk){2}
10/06 16:23, 3F

10/06 16:44, 7年前 , 4F
感謝2位大大解惑
10/06 16:44, 4F
文章代碼(AID): #1ProtRpg (RegExp)
文章代碼(AID): #1ProtRpg (RegExp)