gpt4 book ai didi

c# - c# 的正则表达式逐字像字符串(处理 ""-like 转义)

转载 作者:太空狗 更新时间:2023-10-29 23:00:50 24 4
gpt4 key购买 nike

我正在尝试从 rc 文件中提取信息。在这些文件中,“-chars in strings are escapeed by doubling them ("") 类似于 c# 逐字字符串。是否有提取字符串的方法?

例如,如果我有以下字符串"this is a ""test""" 我想获取this is a ""test""。它还必须是非贪婪的(非常重要)。

我试过使用下面的正则表达式;

"(?<text>[^""]*(""(.|""|[^"])*)*)"

但是表现很糟糕。我基于这里的解释:http://ad.hominem.org/log/2005/05/quoted_strings.php

有人知道用正则表达式来解决这个问题吗?

最佳答案

那里有一些嵌套的重复量词。 That can be catastrophic for the performance.

尝试这样的事情:

(?<=")(?:[^"]|"")*(?=")

现在只能同时使用两个引号...或非引号字符。后视和先行断言,实际匹配前后都有一个引号。

这也让您不必捕捉任何东西。您想要的结果将只是您想要的完整字符串(不带外引号)。

我不断言外引号没有加倍。因为如果是的话,无论如何都无法将它们与空字符串区分开来。

关于c# - c# 的正则表达式逐字像字符串(处理 ""-like 转义),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13495514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com