捕获字符串,直到在正则表达式中第一个插入符号?

GON*_*ale 0 regex

我目前正在使用遗留系统,许多工作涉及拆分分隔字符串并针对某些规则进行测试.

使用此字符串,我如何在后引用和搜索条件中返回"活动",在它到达第一个插入符号时停止(^)?:

Active^20080505^900^LT^100
Run Code Online (Sandbox Code Playgroud)

可以通过包含在这个" (.+)" 的正则表达式来完成吗?我问的原因是实际的正则表达式" (.+)"在数据库中被定义为切断这些消息,并且可以从前端系统设置它们的相关规则.内容可以是任何内容(在这种情况下为"活动"),这就是为什么在这种情况下使用了".+".

规则:插入符号之间不能显示插入符号,因为它也会存储在数据库字段中,并且它在另一个系统字段中的其他位置定义.

如果您有更好的建议," (.+)"会很高兴听到它.

提前致谢.

Gor*_*son 5

(.+?)\^
Run Code Online (Sandbox Code Playgroud)

应该抢到第一个^

如果您必须包含无(.+)修改,您可以使用:

(.+?)\^(.+)
Run Code Online (Sandbox Code Playgroud)

第一个反向引用仍然是正确的,您可以忽略第二个反向引用.