我有以下字符串:
Eclipse Developments(Scotland)Ltd/a Martin&Co(格拉斯哥南部)
我需要得到最后一个(总是最后一个,但有时是唯一的)括号值,所以在这种情况下"格拉斯哥南".
我知道我应该使用.sub但无法找出正确的正则表达式.
tad*_*man 20
通常sub用于子机构.你需要的是scan:
test = "Eclipse Developments (Scotland) Ltd t/a Martin & Co (Glasgow South)"
test.scan(/\(([^\)]+)\)/).last.first
# => "Glasgow South"
Run Code Online (Sandbox Code Playgroud)
奇数.last.first调用的原因是scan默认返回一个数组数组.你想要最后一场比赛的第一个(也是唯一的)元素.
翻译正则表达式,对于不熟悉的人来说可能很棘手:
\( # A literal bracket followed by...
( # (Memorize this)
[^)]+ # One or more (+) characters not in the set of: closing-bracket [^)]
) # (End of memorization point)
\) # ...and a literal closing bracket.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5608 次 |
| 最近记录: |