regex 在正则表达式中,如何查找带有右后约束的模式?[duplicate]

zte4gxcn  于 2023-01-03  发布在  其他
关注(0)|答案(1)|浏览(76)
    • 此问题在此处已有答案**:

(9个答案)
2天前关闭。
假设我有一个字符串,我想使用regex得到一个模式,这样
该模式以#开始,以任意字符结束,例如c,因此c的下一个字符(c之后)是#>
我该怎么做呢?
这是我试过的正则表达式#.*(?=[#>])。但是它并不像预期的那样工作。让我们做一些实验来看看我得到了什么

    • 案例1。**如果字符串是# text1 # text2,那么我得到了# text1
    • 案例2。**如果字符串是# text1 > text2,那么我得到了# text1
    • 案例3.**如果字符串是# text1 # text2 > text3,那么我得到的是一个字符串# text1 # text2,而这里我期望的是两个字符串# text1# text2

那我该怎么补救呢?

qacovj5a

qacovj5a1#

.*?代替.*,就足以使量词变得懒惰:

#.*?(?=[#>])

检查here演示。
注意:如果您的示例比您帖子中建议的示例更复杂,请使用精选的边角示例进行更新。

相关问题