gpt4 book ai didi

c# - 在可选的 "--"或\s 之前结束的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:08 25 4
gpt4 key购买 nike

我想弄清楚,如何从文本中捕获 2 个组,例如:

---MyValue=4497-DD616-1134-34---\r\n 

我想捕获“MyValue”和“4497-DD616-1134-34”。可接受任何字符,但\s 字符(\r、\n、空格等)和重复最少的“-”字符除外。一次2次。我当前的正则表达式:

(?<Attribute>[^-\s\r\n]+)=(?<Value>[^-\s\r\n]+)

它的问题是,从整个“4497-DD616-1134-34”值中,它只捕获第一个“-”符号之前的字母字符。我需要在字符串末尾附近的“--”之前获取整个值。此外,此正则表达式应适用于以下字符串:

MyValue=17%
Number=72

因此“---”、“\r”、“\n”等字符是可选的。我在 C# 中使用正则表达式。 Example, of what is actually captured

正则表达式链接:Regex link

有什么想法吗?

最佳答案

你可以像这样使用正则表达式:

(\w+)=(.*?)(?:\s|--)

Working demo

另一方面,如果结尾 --- 是可选的,并且您还有文字 \r\n 作为可选同样,十个你可以使用这个正则表达式:

(\w+)=(.*?)(?:\s|--|\\r|\\n)

Working demo

关于c# - 在可选的 "--"或\s 之前结束的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45110182/

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