gpt4 book ai didi

c# - 正则表达式转义问号和双引号

转载 作者:行者123 更新时间:2023-11-30 18:52:48 32 4
gpt4 key购买 nike

我有以下字符串多次出现的数据:

<a href="default.asp?itemID=987">

其中itemID总是不同的。我正在使用 C#,我想使用正则表达式获取所有这些 itemID。

起初我试过这个

"<a href=\"default.asp?itemID=([0-9]*)\">"

但是问号是保留字符。我考虑过使用 @ 运算符来禁用字符转义。但是仍然有一些双引号确实需要转义。那么我会去

"<a href=\"default.asp\\?itemID=([0-9]*)\">"

应将其(作为字符串)翻译成

<a href="default.asp\?itemID=([0-9]*)">

但是 Regex.Match 方法没有成功。我尝试了完全相同的正则表达式 here它奏效了。我究竟做错了什么?

最佳答案

?. 是正则表达式的特殊字符,但不能在字符串文字中“按原样”转义。所以如果放一个\,对于字符串来说是错误的,如果不放\\,它会被当作字符串的“特殊字符”正则表达式。所以:

"@<a href=\"default\\.asp\\?itemID=([0-9]*)\">";

关于c# - 正则表达式转义问号和双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10818745/

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