作者mardin (mardin)
看板RegExp
标题[问题] 字串匹配问题
时间Fri Oct 6 15:16:40 2017
/*
听说注明使用的语言、环境
*
问题有可能较容易被解决...
*/
各位先进好,
想请教一个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://webptt.com/cn.aspx?n=bbs/RegExp/M.1507274203.A.CEA.html
1F:推 rjjq: (ss.*?sk) 10/06 15:21
※ 编辑: mardin (163.29.184.1), 10/06/2017 15:29:16
※ 编辑: mardin (163.29.184.1), 10/06/2017 15:30:33
2F:推 rjjq: (ss(?:.*?sk){n}) , n = 0,1,2.... 10/06 16:19
3F:推 cutekid: ss(.*?sk){2} 10/06 16:23
4F:→ mardin: 感谢2位大大解惑 10/06 16:44