我需要与正则表达式匹配的som帮助才能找到两个组。第一个应匹配url中第二个最后一个“/”和最后一个“/”之间的单词。第二个匹配应该在“ - ”之前或最后一个“/”
之前找到网址末尾的数字示例:
1. <a href="/damm/test1/1-4-5-34.html">Test 1</a>
2. <a href="/damm/test1/test2/22-33-456.html">Test 2</a>
3. <a href="/damm/test1/test2/test3/2345.html">Test 3</a>
其中 1 匹配组1 == test1 和组2 == 34
其中 2 匹配组1 == test2 和组2 == 456
3 匹配组1 == test3 和组2 == 2345
希望这是可以理解的
谢谢你
修改 问题不在于找到完整的解决方案,而在于获取有关找到我想要找到的特定群体的提示 - 但是当然我很高兴Jerry可以给我一个解决方案。
对不起,我没有发布我已经尝试过的工作,所以这里是:
我正在使用gskinner RegExr进行测试,现在可以在此网站上为您提供示例http://regex101.com/r/zB3oZ6
这是我第一次尝试的地方
href="(.*?)(\d*).html\"
通过查找数字可以正常工作 - 但是当我想要获取文本时,它就会全部崩溃。我会在将来尝试查看此内容:http://www.regular-expressions.info/tutorial.html
答案 0 :(得分:0)
这个有效:.*/(.*)/.*-?([0-9]+).*
您可以在shell中使用它:
echo "<a href="/damm/test1/1-4-5-34.html">Test 1</a>" | sed -r "s;.*/(.*)/.*-?([0-9]+).*;\1 \2;"
cf demo
答案 1 :(得分:0)
答案 2 :(得分:0)