在VB中获取具有特定标记的字符串

时间:2015-05-12 20:07:48

标签: regex vb.net string

我已经看过这个帖子 - Get String with Specific Tags in C#

我正在寻找相同的方法来从具有特定标签的字符串中获取字符串,但我的标签采用以下格式:

[BROWSERLINK]
[REMOVE]
[CURRENT_YEAR]
[SITEURL]
[EMAIL]

如果我更改正则表达式只是将<>替换为[],则无法告诉我:

parsing "(?[=\[)(.*?)(?=\])" - Unterminated [] set.

我无法将我的代码更改为<>,因为该字符串还包含我不想触及的HTML代码,请问有什么想法吗?

1 个答案:

答案 0 :(得分:2)

[]被视为special characters in regex。你需要转义它们以匹配文字:

Dim pattern As String = "(?<=\[)(.*?)(?=\])"

这应该适合您,请参阅demo

你的正则表达式 - (?[=[)(.*?)(?=]) - 还有另一个问题:[之后(?破坏了积极的后视结构。如您所见,我建议的正则表达式中的?[已替换为(?<。正确的look-behind似乎是(?<=...)