求<>配对表达式

chenlh 2005-10-08 06:13:46
能匹配<<任意字符1 aasf adfa 2>>
<<1 "asd<<" 2>>
<<1 "asd>" 2>>
不知道说清楚了没有,开始和结尾是<<, >>,中间如果出现<,>则必须在""中

我自己写了一个,觉得不完善和不合理
<<(([^>]*)|([^>]*"[^>]*>[^>]*"[^>]*)+)>>

...全文
56 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyi8808 2005-10-10
  • 打赏
  • 举报
回复
在*后面加?表示懒惰匹配, 只匹配尽量少的字符, 否则会匹配尽量多的字符.
如果有输入字符串是: <<1 "asd<<" 2>><<1 "asd>" 2>>
我的正则会匹配2次, 中间部分分别是: 1 "asd<<" 2和1 "asd>" 2
你的正则只会匹配一次, 中间部分是: 1 "asd<<" 2>><<1 "asd>" 2
chenlh 2005-10-10
  • 打赏
  • 举报
回复
空间兄的很对。但不太明白为什么 *?连起来用
我按你的改变了一下,也可以。<<[^<>]*(".*")*[^<>]*>>
wuyi8808 2005-10-08
  • 打赏
  • 举报
回复
@"\<\<[^\<\>]*?("".*?"")*?[^\<\>]*?\>\>"

110,525

社区成员

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

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

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