给出这样的一致字符串:
Manual stage: <b>Release</b> by <a href="https://test/builds/browse/user/a0123456">Joe Bloggs</a>
Changes by <a href="https://test/builds/browse/user/b234556">John Doe</a>
有一个简单的正则表达式可以用来拉人名吗? 是否有一个简单的正则表达式我可以提取ID(位于URL的末尾,例如b1234345)?
由于
答案 0 :(得分:1)
虽然最好使用nokogiri,但这是一个简单的正则表达式:
▶ /(?<=\D)(\d+)\">([^<]+)<\/a>/ =~ \
'<a href="https://test/builds/browse/user/b234556">John Doe</a>'
#⇒ 42
▶ $~
#⇒ ⇓⇓⇓⇓⇓⇓ ⇓⇓⇓⇓⇓⇓⇓⇓
#⇒ #<MatchData "234556\">John Doe</a>" 1:"234556" 2:"John Doe">
要获取号码和人员,请使用:
num, person = /(?<=\D)(\d+)\">([^<]+)<\/a>/.
match('<a href="https://test/builds/browse/user/b234556">John Doe</a>').
captures
#⇒ ["234556", "John Doe"]