我正在构建一个新颖的写作工具,其中包括由"//"a la JavaScript指定的内联注释。
我希望能够统计所有不属于注释的单词(因此属于"真实"小说(,这样作家就可以用它来跟踪他们的单词计数目标。
到目前为止,我一直在使用:/S+/g
我已经成功地找到了一种方法,可以用^(?!//).+$/gm
排除带有//前缀的整行
但是,
- 它们不一起工作,即
S+^(?!//).+$/gm
- 如何排除//和行尾之间的单词?即
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
单词。
这个模式应该是您所需要的。^.+?(?=//)|^(?!//).+
演示
如果你有任何问题,请告诉我。