需要一个正则表达式来获取两个标记之间的值

时间:2013-02-20 17:14:37

标签: java regex perl

需要正则表达式来提取> xxxxx<之间的值。任何人都可以帮助我。

<ChangeID type="String">C10286</ChangeID>
<ChangeID type="String">C10296</ChangeID>

是否可以在单个正则表达式中以逗号分隔格式获取两个值,如 C10286,C10296

谢谢和问候

Riyas Hussain A

2 个答案:

答案 0 :(得分:2)

试试这个:

(?<=>)[^<]*

使用grep -Po进行测试:

kent$  echo '<ChangeID type="String">C10286</ChangeID>
<ChangeID type="String">C10296</ChangeID>'|grep -Po '(?<=>)[^<]*'
C10286
C10296

答案 1 :(得分:0)

我的想法是查找所有单词并删除我们不需要的单词(如果你的标签中有超过1个值):

(?!ChangeID\b)(?!type\b)(?!String\b)\b\w+

您可以尝试:http://regexpal.com/