如何从下面的字符串中提取单词 wordofvariablelength。

<a href=\"http://www.adrive.com/browse/wordofvariablelength\" class=\"next-button\" id=\"explore-gutter\" data-linkid=\"huiazc\"> <strong class=\"text gutter-text \">

我能够使用下面的代码获取字符串的第一部分,但是是否有一个正则表达式可以用来只获取紧跟在“browse/”之后和“\”之前的单词,这里是单词“wordofvariablelength "使用下面的代码
mystring = substr(mystring,nchar("<a href=\"http://www.thesaurus.com/browse/")+1,nchar("<a href=\"http://www.thesaurus.com/browse/")+20)

请注意,单词 wordofvariablelength 可以是任意长度,因此我无法硬编码并开始和结束

最佳答案

通过regmatches功能。

> x <- "<a href=\"http://www.adrive.com/browse/wordofvariablelength\" class=\"next-button\" id=\"explore-gutter\" data-linkid=\"huiazc\"> <strong class=\"text gutter-text \">"
> regmatches(x, regexpr('.*?"[^"]*/\\K[^/"]*(?=")', x, perl=TRUE))
[1] "wordofvariablelength"


> regmatches(x, regexpr('[^/"]*(?="\\s+class=")', x, perl=TRUE))
[1] "wordofvariablelength"



使用 gsub 更简单。
> gsub('.*/|".*', "", x)
[1] "wordofvariablelength"

10-07 14:54