如何使用正则表达式分割特定模式

时间:2014-03-21 06:49:28

标签: asp.net regex vb.net

我有以下字符串

Dim strTemplate as string = 
"<table>
  <tr>
       <td>Name</td>
       <td>Address</td>
       <td>City</td>   
  </tr>
  <tr>
       <td>[%Name%]</td>
       <td>[%Address%]</td>
       <td>[%City%]</td>   
  </tr>
</table>"

Dim strSplits = New List(Of String)(Regex.Split(strval, "REGEXRequired"))

现在我想编写带有split字符串的正则表达式,只给出模式字符串[%...%]

即。想要[%Name%]列表中的[%Address%][%City%]strSplits值。

任何建议或帮助将不胜感激

2 个答案:

答案 0 :(得分:3)

为什么要使用Split()

Dim strSplits = New List(Of String)(Regex.Matches(strval, "\[%.*?%\]"))

更容易,不是吗?

答案 1 :(得分:1)

这会让你前进

/(\[%.*?%\])/g

演示:http://regex101.com/r/kV2rK4