【发布时间】:2012-05-14 20:46:00
【问题描述】:
我的字符串看起来像这样:
执行制片人 (3)
生产者 (0)
第一个辅助摄像头 (12)
我想使用正则表达式来匹配字符串的第一部分并删除“(num)”部分(括号前面的空格和括号中的括号/数字)。使用正则表达式后,我希望我的变量等于:“Executive Producer”、“Producer”、“1st Assistant Camera”
如果您知道任何学习正则表达式的资源,那也太好了。
【问题讨论】:
我的字符串看起来像这样:
执行制片人 (3)
生产者 (0)
第一个辅助摄像头 (12)
我想使用正则表达式来匹配字符串的第一部分并删除“(num)”部分(括号前面的空格和括号中的括号/数字)。使用正则表达式后,我希望我的变量等于:“Executive Producer”、“Producer”、“1st Assistant Camera”
如果您知道任何学习正则表达式的资源,那也太好了。
【问题讨论】:
您只需选择除最后一个括号及其数字内容之外的所有字符:
(.+) \(\d+\)
前两个括号捕获内容(这里是所有内容,由点声明)。然后,你想要两个括号(注意斜线),这意味着我们不希望这些括号捕获 "\d+" 表达式,它是一个数字。
我最喜欢的正则表达式网站之一:http://www.regular-expressions.info/
【讨论】:
也许是s/([\s\w]+\w)\s*\(\d+\)/\1/?
我不懂 Ruby,所以你必须将它翻译成它自己的正则表达式语法。
【讨论】: