我已经成功地编写了一个正则表达式模式以获取一些价值,它确实很棒,但是我不知道如何命名捕获组。
这是我的字符串:
<div class="pipe-mailbody pipe-mailbody-2cccfb01-75f1-4fc0-9d5f-5f5ed8729d1b">Deal ID:<br>256<br><br>Deal pipeline ID:<br>3<br><br>Deal stage ID:<br>16<br><br>Deal contact person ID:<br>740<br><br>End:</div>
这是我的模式:
Deal\sID\:\<br\>([\d]+)\<br\>[\<\>\d\w\s]+\:\<br\>([\d]+)<br><br>Deal\sstage\sID:<br\>([\d]+)<br\>[\d\s\>\<\S]+person\sID\:\<br>([\d]+)\<br\>
有人可以帮我命名捕获组的方式吗?像([\d]+)
一样是捕获组之一,我想将其命名为person
我该如何实现?
答案 0 :(得分:-1)
好吧,我不确定这是否是您要寻找的东西,但希望能对您有所帮助。
您可以在Java中使用类似Pattern Matcher
之类的值。 Java中的Matcher
对象允许您编译正则表达式模式。然后group
对象从某个字符串中获取模式的所有匹配项。您可以使用Matcher
对象的<div class="pipe-mailbody pipe-mailbody-2cccfb01-75f1-4fc0-9d5f-5f5ed8729d1b">Deal ID:<br>256<br><br>Deal pipeline ID:<br>3<br><br>Deal stage ID:<br>16<br><br>Deal contact person ID:<br>740<br><br>End:</div>
方法获取捕获组。
如果这是您的字符串:
String input = "<div class="pipe-mailbody pipe-mailbody-2cccfb01-75f1-4fc0-9d5f-5f5ed8729d1b">Deal ID:<br>256<br><br>Deal pipeline ID:<br>3<br><br>Deal stage ID:<br>16<br><br>Deal contact person ID:<br>740<br><br>End:</div>";
Pattern p = Pattern.compile("Deal\sID:<br>(\d+)<br>.+:<br>(\d+)<br><br>Deal\sstage\sID:<br>(\d+)<br>.+person\sID:<br>(\d+)<br>";
Matcher m = p.match(input);
String person = m.group(4);
使用Java,您可以执行此操作(注意,由于有许多不必要的转义字符,我也简化了您的模式):
window.btoa
这会将人员ID保存在String变量中。