正则表达式使用逗号替换哈佛风格的参考书目\ d {4}:\ s \ d +

时间:2014-10-17 18:29:21

标签: regex

哈佛参考书目,如果你不按时使用门德利就会变得艰难。

[Sihler 1999: 122; Trask 2000: 164]. 
[Benveniste 1935: 170-171, Бенвенист 1955, Bomhard, Kerns 1994: 56-59].

我在博士学位中引用作者的方式是错误的。它应该有一个,而不是:。像

[Sihler 1999, 122; Trask 2000, 164]. 

使用\d{4}:\s\d+ http://regex101.com/r/mE0rT9/1我可以找到它们,但如何在Word中替换,而不是:?感谢。

2 个答案:

答案 0 :(得分:0)

您需要使用前瞻和后瞻或后向引用,http://www.regular-expressions.info/lookaround.html

我可能会这样做:preg_replace("〜(\ d {4}):( \ s \ d +)〜"," $ 1,$ 2",例如,php中的$ str)作为后一种解决方案的一个例子。

这是一篇讨论javascript中反向引用的帖子:JavaScript - string regex backreferences

答案 1 :(得分:0)

表达式:

(?<=\d{4})\:

它使用lookbehind匹配但不返回年份。