regex - 使用正则表达式查找包含特定内容的标签之间的所有内容
问题描述
输入(无效的 xml):
blabla<Val>Test2312x<End><Val>Nonazx<End><Val>Test<End><Val>Testazxcz<End><Val>asdsad<End>
目标:
提取所有包含“测试”的标签内容:
1231Test2312x
测试
测试
我试过这个正则表达式:
<Val>.?Test.*?<End>
但它只捕获“测试”之前没有任何字母的第一次出现。
有任何想法吗 ?
解决方案
由于您没有提到要使用哪种语言,所以我正在使用awk
:
awk -F"[><]" '{for(i=1;i<=NF;i++){if($i ~ /Test/){print $i}}}' Input_file
输出如下。
Test2312x
Test
Testazxcz
推荐阅读
- javascript - 如何使用 ajax 在 Laravel 中保存播放 currentTime 的视频
- python - 如何将图片转换为像 Dataarray 这样的 MNIST
- python - 在 python 虚拟环境中安装烧瓶的问题
- linux - 多用户情况下 apache2 的性能优化
- java - 如何修复错误 403 以便我可以推送
- kubernetes - 如何在 oc 3.1 中将身份提供者更改为 htpasswd
- python - Matplotlib 错误:“x 和 y 必须具有相同的第一维,但具有形状 (100,) 和 (1,)”
- php - 如何消除?在这个带有 preg_mach 的字符串中
- python - 通过引用字符串位置检查数据框列中的子字符串
- jekyll - 无法为 Jekyll 网站生成作品集库