如何解决C#中的正则表达式用于解析BBCode样式的标签
|| 我需要一个正则表达式来匹配一些用方括号括起来的标签。没什么,我只需要它来匹配标签。像这些:[quote]
[/quote]
[b]
[url]
等等
我不需要担心关闭标签或其他任何事情。我只想获取文本中所有标签的集合。我的正则表达式知识不止是有限的。
解决方法
如果您不担心匹配结尾或嵌套或任何愚蠢的复杂情况,则可以匹配并捕获这些标签:
(\\[[^\\]]*\\])
,只要您不关心方括号内的文本的构成,以下表达式应该起作用:\\[[^\\]]+\\]
。如果要限制字母数字字符,则可以使用\\[/?[A-Za-z0-9]+\\]
。或者,如果只需要字母字符,则从字符集中删除0-9。
,@ashelvey:这个表达式很贪心,会匹配太多。 (\\[.*?\\])
是同一表达的勉强版本。
如果只想匹配内部标签,则可以使用(?<=\\[).+?(?=\\])
,使用lookbehind和lookahead。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。