我有以下句子:敏捷的棕色狐狸跳过懒惰的狗(见第 1 册)。敏捷的棕色狐狸跳过懒惰的狗(见上文)。敏捷的棕色狐狸跳过懒惰的狗(见第 2 册)。敏捷的棕色狐狸跳过懒惰的狗(见第 3 本书)。在以下条件下,我需要删除句子中括号之间的文本 - 括号和外部空格包括在内:括号之间的文本包含单词Book;括号内的文字不放在句末。所以那句话应该变成:敏捷的棕色狐狸跳过了懒狗。敏捷的棕色狐狸跳过懒惰的狗(见上文)。敏捷的棕色狐狸跳过了懒狗。敏捷的棕色狐狸跳过懒惰的狗(见第 3 本书)。我知道这个正则表达式sentence.replace(/ *\([^)]*\) */g, "");- 但我不知道如何应用上述条件。
2 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
另一个正则表达式:
const regex = /\s\([^)]*?Book.*?\)(?=.*\(.*?Book.*?\))/g
以JS形式举例:
const p = 'Text (see the Book "def"). Text (see above). Text (Book 2) with more text (Book 3).'; console.log(p.replace(regex, ''));
慕斯709654
TA贡献1840条经验 获得超5个赞
在此,希望对你有所帮助
const sentence = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit (see the Book "abc"). Quisque non ante nisi (see the Book "def"). Nam id justo velit (see above). Donec hendrerit dui sit amet tempus molestie (see the Book "ghi").'
console.log(sentence.replace(/\s?\([\w\s\"]*?Book[\w\s\"]*?\)\s?(?=..*\w)/gm, ''));
在这里你可以看到正则表达式的解释和实验 - https://regex101.com/r/hOZg0g/5
添加回答
举报
0/150
提交
取消