假设我有以下类似的文本:
_startOneEnd
_startTwoEnd
_startThreeEnd
我想匹配:从_start开始以结束结尾我想捕获介于两者之间的位,例如,上面变量中的一、二、三:
任何人都可以建议一个正则表达式来捕获这一点吗?
如果每行输入仅包含与您的示例类似的文本,则类似这样的东西应该有效:
/^_start(.*)End$/
^
将模式定位到字符串的开头。$
将其定位到字符串的末尾。括号捕获中间部分。
在C#
中,你可以使用这个:
(?<=_start).*(?=End)
目前尚不清楚中间的部分是否只是给出的示例。
如果是这样,请使用以下命令:
_start((One)|(Two)|(Three))End
如果没有,它可以是任何东西,试试这个:
_start(.*?)End
请注意,匹配是非贪婪的。