我有以下字符串的几个出现的数据:
<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方法没有成功.我在这里尝试了相同的正则表达式并且它有效.我究竟做错了什么?
Rap*_*aus 10
?并且.是正则表达式的特殊字符,但不能在字符串文件中"按原样"进行转义.因此,如果你放一个\字符串,那么字符串就错了,如果你不放\\,它将被视为正则表达式的"特殊字符".所以:
"@<a href=\"default\\.asp\\?itemID=([0-9]*)\">";
使用@operator时,您可以使用""重新获得双引号.
您还需要在正则表达式中转义某些特殊字符,在本例中为chars.
试试这个:
@"<a href=""default\.asp\?itemID=([0-9]*)"">"