我想要一个正则表达式,它将返回不同模式的匹配子字符串的零个或多个匹配项.
Different patterns to match个
-
<sym>Any value</sym>
个 -
<sps>Any value</sps>
个 -
<sbs>Any value</sbs>
个 -
包括空格和上述3个标记之外的特殊字符的任何字符串
其中"Any Value"是包括空格和特殊字符的任何字符串.
Test Cases个
-
abcd<sps>2</sps><sbs>yy</sbs>efgh<sym>b</sym>
个 -
<sym>nu</sym>Hello World<sps>6&</sps><sbs>10</sbs>With Special Characters$#<sym>b</sym>
个个 -
<sps>2</sps>Test<sbs>yy</sbs><sym>b</sym>End String
个
Results个
1.
abcd <sps>2</sps> <sbs>yy</sbs> efgh <sym>b</sym>
<sym>nu</sym> Hello World <sps>6&</sps> <sbs>10</sbs> With Special Characters$# <sym>b</sym>
<sps>2</sps> Test <sbs>yy</sbs> <sym>b</sym> End String
我try 了以下正则表达式:
(?([a-zA-Z0-9]+))<sym>[^.]*</sym>|<sps>[^.]*</sps>|<sbs>[^.]*</sbs>(?([a-zA-Z0-9]+))
个
Result against "Test Case 1":获取以下字符串,其中我没有获取标记外的字符串.
<sps>2</sps> <sbs>yy</sbs> <sym>b</sym>
个
Result against "Test Case 2":获取完整的输入文本.
<sym>nu</sym>Hello World<sps>6&</sps><sbs>10</sbs>With Special Characters$#<sym>b</sym>
个个
你能在这个背景下帮我一下吗?提前谢谢你了!