正则表达式如何在")"之间获取文本。 &安培; "("

时间:2016-03-29 21:30:07

标签: regex

尝试获取此字符串的名称嵌套在")"和"("。尝试以下但我仍然得到名称加上#34;)"。示例:")Jonathan"。我只需要这个名字。

\)\b(\w+)\b

(AL,MO,TX,IA,MN,MI,KS)乔纳森(WI,VA,NY,PA,DE,CT,PR,VI,)乔斯林 AL,MO,TX,IA,MN,MI,KS)布莱恩(

3 个答案:

答案 0 :(得分:0)

尝试使用像这样的外观断言。

正则表达式: (?<=\))[A-Za-z]+(?=\()

<强>解释

  • (?<=\))在名称后面查找)

  • (?=\()在姓名后查找(

  • [A-Za-z]+与名称匹配。

<强> Regex101 Demo

答案 1 :(得分:0)

您不需要使用单词边框锚点\b,因为字母的括号将始终位于单词边框上。既然你需要单独的单词,你可以使用lookahead和lookbehind表达式:

(?<=[)])\w+(?=[(])

这种方法也可以省去捕获组,因为看起来是零长度。

答案 2 :(得分:0)

我使用此正则表达式来查找组

/(?=\))(.*?)(?=\()/g

由于某种原因,{char http://regexr.com中没有排除char,但是前瞻和后瞻是正确的工具