vb.net regex
我有一些像这样的字符串来分析:
<%JohnSmith $> @其他一些文字@<%FredJonese%> @(@<%SallyHarris%> @)@
我需要找到介于<%和%>之间的每个文本块的出现次数。以及每对@符号之间的那些。
因此,对于上面的示例,我想检索以下6个文本(下面第2行和第4行中有一个前导空格):
JohnSmith对
其他一些文字
FredJones
(
SallyHarris
)
当我使用像“<%\ w%>”这样的模式时,它会检索整行,因为该行以<%和%>开头和结尾
我迷失了最好的方法。我需要按照它们发生的顺序排除这些块。
到目前为止,我没有尝试过任何工作。我知道我可以编写一个循环遍历字符串的字符,但似乎正则表达式可以处理这个。任何人都可以帮忙吗?
感谢。
答案 0 :(得分:1)
您需要在星号或加号(懒星或延迟加号)后添加延迟运算符。如果不这样做,则匹配是贪婪的(默认值),因此它会尝试尽可能匹配。
<%\w*?%>
注意问号。这将匹配所有三个。