在线等, 帮看下这个正则语法那里错了

验证码识别 2011-03-14 06:40:13
string strPattern = @"(?<=(loginTicket\..\""))[^\]+(?=\)";


提示[]非正常关闭
...全文
86 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangwenquan123 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wuyazhe 的回复:]
\
非常特殊,不论是c系列语法中的字符串,还是正则中,\都需要用\\表示。
当然,你可以写

string strPattern = "(?<=(loginTicket\\..\\""))[^\\\\]+(?=\\)";

也可以用@取消c#字符串中的转义字符\的意义,但对于c#,还需要转义一次。

string strPattern = @"(?<=(loginTicket\..……
[/Quote]+1
Cool_xiaocao 2011-03-14
  • 打赏
  • 举报
回复
还是留下个不起眼的名字算了
gxzh0817 2011-03-14
  • 打赏
  • 举报
回复
学习了!
正则表达式学习中!
兔子-顾问 2011-03-14
  • 打赏
  • 举报
回复
\
非常特殊,不论是c系列语法中的字符串,还是正则中,\都需要用\\表示。
当然,你可以写

string strPattern = "(?<=(loginTicket\\..\\""))[^\\\\]+(?=\\)";

也可以用@取消c#字符串中的转义字符\的意义,但对于c#,还需要转义一次。

string strPattern = @"(?<=(loginTicket\..\""))[^\\]+(?=\\)";

「已注销」 2011-03-14
  • 打赏
  • 举报
回复
@的作用是对字符串转义, 正则表达式自己的转义@可做不到, 不用@的话,得4个斜杠
验证码识别 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bbisky 的回复:]
[^\]这个地方,你是要除\外的所有字符的话用[^\\], \要转义
[/Quote]

@ 对 [ ] 里面 的不管用?
bbisky 2011-03-14
  • 打赏
  • 举报
回复
[^\]这个地方,你是要除\外的所有字符的话用[^\\], \要转义

111,096

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧