为什么这个sed RegEx表达式会在某些情况下切断数字?

时间:2010-08-24 03:28:06

标签: regex macos sed itunes

sed -e 's/ *-\{0,1\},\{0,1\} *[Pp][Aa]\{0,1\}[Rr]\{0,1\}[Tt].\{0,1\} *\([0-9]\{1,\}\) *$/ (\1)/'

我正在通过iTunes AppleScript管理游戏。这应该将任何带有零件名称的标题转换为括号格式

例如,Best of Both Worlds, Part 2变为Best of Both Worlds (2)

Part和数字之间省略空格时,麻烦就会出现问题。

  • 如果是一位数,它可以正常工作。 Blah part2变为Blah (2)
  • 多个数字,第一个数字被切断:Blah pt123变为Blah (23)

我坦率地承认我不是RegEx专家,但我在“掌握正则表达式”这本书中挖​​掘并搜索谷歌而没有运气。知道这里有什么问题吗?谢谢!

1 个答案:

答案 0 :(得分:1)

.\{0,1\}”与1匹配。

.替换为[^0-9]