说我有类似的文字:
_startOneEnd
_startTwoEnd
_startThreeEnd
我希望匹配: 以 _start 开头 以结束结尾 我希望在上面的变量中捕获中间的位,例如,一,二,三:
有人可以建议使用正则表达式来捕获它吗?
答案 0 :(得分:4)
如果每行输入仅包含与您的示例类似的文本,则此类内容应该起作用:
/^_start(.*)End$/
^
将模式锚定到字符串的开头。 $
将它锚定到字符串的末尾。括号捕捉中间部分。
答案 1 :(得分:1)
在C#
中,您可以使用:
(?<=_start).*(?=End)
答案 2 :(得分:1)
目前尚不清楚中间的部分是否只是给出的例子 如果是这样,请使用:
_start((One)|(Two)|(Three))End
如果没有,它可以是任何东西,试试这个:
_start(.*?)End
请注意,匹配是非贪婪的。