匹配模式正则表达式coldfusion
我需要匹配使用reMatchNoCase("(listid)","listid car van listid dog cat listid house hotel")>
的模式,所以listid是模式,并匹配,并再次下一个模式女巫是listid的一切。 所以,如果我转储复赛生病得到每一个结构开始listid和内匹配模式正则表达式coldfusion
这个内容是它应该是什么样子
listid车面包车
listid狗猫
listid家酒店
etc ....
当我使用reMatchNoCase("(listid)","listid car van listid dog cat listid house hotel")>
它只会创建一个结构“listid”,没有更像汽车范...我使用什么正则表达式(listid)后得到的一切?
感谢
你可以使用这个表达式
listid.*?(?=(listid|$))
什么这个表达式所做的是找到一个“listid”后跟任意字符,直到下一个“listid”或“线($)的终结”。 ?=
是寻找下一个“listid”的积极向前看,但不能使它成为比赛的一部分。在.*?
中的?
避免了.*
的贪婪行为,并匹配紧接着的下一个先行字符串。
这个正则表达式可能会做;我不知道coldfusion的细节,但它匹配你想要的:
listid.*?(?=$|\slistid)
救命不是这个词!!!谢谢 – loo 2010-08-31 05:37:12
救命不是这个词!!!谢谢 – loo 2010-08-31 05:36:35
我需要$ newline作什么?如果我不想要它,它会被一个实际的新线弄乱吗? – loo 2010-08-31 06:02:02
由于最后没有“listid”,因此我们必须展望未来捕捉最后一场比赛。因此使用'$'。如果你删除它,它将不会与你的例子中的'listid house hotel'相匹配。 – Gopi 2010-08-31 06:16:51