我有一个字符串,可以使用以下格式
(2级)(1-4yo +)(2m5f110y) 2mf 好15
(2级)(4yo)(2m5f110y)2m5½f Standart 2 hdles
(2级)(2m5f110y) 2m5f110y 好
(2级)(4yo +) 3m 好10个小时
(2级) 2m5f 好10
(2级)(4yo +) 2m5f110y 好10个小时
帮助创建一个将以粗体
搜索含义的表达式答案 0 :(得分:2)
我会建议这样的事情:
/\) (?!.*\))(\S+)/
或者,如果您不想拥有捕获组,但可能更慢:
/(?<=\) )(?!.*\))\S+/
(?!.*\))
是一个负面的预测。如果内部匹配,则整个匹配将失败。因此,如果.*\)
匹配,则匹配失败,换句话说,如果匹配中的该位置后面有)
,则会阻止匹配。
在第二个正则表达式中,(?<=\) )
是一个积极的外观,它确保在比赛开始之前有)
。
答案 1 :(得分:0)
使用Ruby 2.0,您可以使用:
^\(Class 2\)(?: \([^)]*\))* \K\S+