需要一个正则表达式来修改第二个匹配项并忽略第一个和最后一个

Need a regex to modify a second match and ignore the first and last

库上下文,使用也可以使用正则表达式的 MarcEdit。

我需要这个:

=773 \$tEtudes inuit$x0701-1008Vol. 44 1-2, p. 53-84

改成这样:

=773  \$tEtudes inuit$x0701-1008Vol. 44, no. 1-2, p. 53-84

问题是,本例中的 44 和 1-2 是会从一本书更改到另一本书的数字,我正在构建命令以使其自动化。

我尝试着重将 44 和 1-2 之间的 space 更改为 ',不。 ' 与 \s 但它显然改变了所有 spaces 个字符。

添加',没有。 ' 很简单,因为它有一个不同的框,但我无法专注于第二个 space 而忽略第一个和最后一个,并且还保留前后的每个字符。

谢谢你的帮助,我 looking/trying 一整天了!

MarcEdit exemple

如果正则表达式实现支持向前看,您可以要求此 space 后跟一个范围和一个逗号:

查找:\s(?=\d+-\d+,)
替换:, no.