0

我有这个字符串和其他类似的字符串:

<a href='/webapps/alrn-atomiclearning-bb_bb60/atomic/view.jsp?courseId=@X@course.pk_string@X@&contentId=@X@content.pk_string@X@&tt=Using+the+course+calendar&st=Blackboard+Learn%E2%84%A2+9.1+Instructor+-+Additional+Features+Training&d=00:02:09&tid=84425&sid=2389'><img src='/webapps/alrn-atomiclearning-bb_bb60/images/icon_play_UnlockedTutorial.png' alt='play icon'>&nbsp;Using the course calendar</a><br/>Duration: (00:02:09)

我正在尝试提出一个正则表达式来捕获所有内容,除了&nbsp;</a><br/>

因此,例如,我会捕获所有内容,然后将其删除,最终只有:

Using the course calendar

还在那里。我在 Rubular 中尝试了多种变体,但只能达到 . 尝试使用[^a-zA-Z|^\s]*<\/a>.*跳过每个单词字符和空格直到 <\a> 不起作用。

谢谢。

4

1 回答 1

1

使用前瞻和后瞻 - 括号中的两个部分。修改中间的字符类以捕获您要选择的所有内容。

(?<=>&nbsp;)[a-zA-Z\s]+(?=<\/)

编辑:

([\s\w\d\S\W\D]+)((?<=>&nbsp;)[a-zA-Z\s]+(?=<\/))\K([\s\w\d\S\W\D]+)

最终,这将创建三个匹配组,即您想要留下的位之前的位、您想要留下的位以及您想要留下的位之后的位。我不确定如何,或者如果确实可以,指定选择多个匹配项,就好像它是一个匹配项一样。
如果可能的话,我仍然会选择你真正想要的东西。

于 2013-10-30T14:27:59.950 回答