我已经看过这个帖子 - Get String with Specific Tags in C#
我正在寻找相同的方法来从具有特定标签的字符串中获取字符串,但我的标签采用以下格式:
[BROWSERLINK]
[REMOVE]
[CURRENT_YEAR]
[SITEURL]
[EMAIL]
如果我更改正则表达式只是将<>
替换为[]
,则无法告诉我:
parsing "(?[=\[)(.*?)(?=\])" - Unterminated [] set.
我无法将我的代码更改为<>
,因为该字符串还包含我不想触及的HTML代码,请问有什么想法吗?
答案 0 :(得分:2)
[
和]
被视为special characters in regex。你需要转义它们以匹配文字:
Dim pattern As String = "(?<=\[)(.*?)(?=\])"
这应该适合您,请参阅demo。
你的正则表达式 - (?[=[)(.*?)(?=])
- 还有另一个问题:[
之后(?
破坏了积极的后视结构。如您所见,我建议的正则表达式中的?[
已替换为(?<
。正确的look-behind似乎是(?<=...)
。