Regex,用于从字计数器中排除以//开头的行



我正在构建一个新颖的写作工具,其中包括由"//"a la JavaScript指定的内联注释。

我希望能够统计所有不属于注释的单词(因此属于"真实"小说(,这样作家就可以用它来跟踪他们的单词计数目标。

到目前为止,我一直在使用:/S+/g

我已经成功地找到了一种方法,可以用^(?!//).+$/gm排除带有//前缀的整行

但是,

  1. 它们不一起工作,即S+^(?!//).+$/gm
  2. 如何排除//和行尾之间的单词?即These words are included.//but these aren't

所有情况下的一些示例文本:

// Scene Name - This is a scene description.`
// !Location
// @John @David
Hello, I am very grateful to the Stack Overflow community for teaching me how to fix every problem I've ever had. //wow good content
And here's some more text. This is 30 words. 

我错过了什么?

[编辑:我使用/S+/g作为单词计数正则表达式,而不是/w+/g,它将缩写计算为两个单词]

我建议您将操作一分为二,首先使用以下(简单(regex进行替换:

///.*/gm

它只匹配后面跟有任何字符的任意2个斜杠。只需替换为一个空字符串。现在你有了一个没有斜杠的漂亮文本,你可以使用你的单词计数正则表达式来Count单词。

这个模式应该是您所需要的。^.+?(?=//)|^(?!//).+

演示

如果你有任何问题,请告诉我。

最新更新