我的数据看起来像这样:
<value>v13772 @FBst0451145:w<up>1118</up>; P{GD3649}v13772@ v13773 @FBst0451146:w<up>1118</up>; P{GD3649}v13773@</value>
如何在XPATH中处理此字符串以提取任何和所有@FBst #######数字?
我知道xpath matches()函数…但只返回true或false.如果我想要匹配的字符串,那就不好了.我已经四处寻找但是找不到这个问题的满意答案,这可能很常见.
谢谢!
除了Michael Kay的好答案,如果你只想使用replace()函数,那么使用:
replace(.,'.*?(@FBst\d+).*','$1')
结果是:
@FBst0451145 @FBst0451146
如果您只想要上述结果中的数字,请使用:
replace(replace(.,'$1'),'[^0-9]+',' ')
这会产生:
0451145 0451146