如何将同一行中的两个单词数为1
How to count two words as 1 in same line
在我得到的文本文件中,每个句子都用特定的类型表示,例如:contrast.
对比句可以用"CONTRAST"或"CONTR"或"WEAKCONTR"标记来表示。例如:
以这种方式研究网络可以帮助
确定个人向谁学习,在哪里学习
在理解_md:+中的conflicts_MD:+可能产生,并且
情境因素影响学习
所以我用下面的表达式来计算这些:/('_(WEAK))|('_CONTRAST)|('_CONTR('_|'())/g
,它工作得很好。
现在的问题是有些句子用多个对比标签来表达,比如CONTR &WEAKCONTR在一起。例如:
impsent_contrast_emp_weakcontr_vis (Studying_MD:+)网络以这种方式可以帮助确定一个人向谁学习,其中理解_md:+中的conflicts_MD:+可能来源于此,并且哪些环境因素影响学习
在这一点上,我必须把它们算作1而不是2。你知道这是如何可能与RegExp吗?
您可以使用查找来断言它,然后计算匹配:
(?='w*_(?:WEAK|CONTRAST|CONTR[_)]))'b'w+'b
此处演示:http://regex101.com/r/xP2yI7/3
注意匹配计数。
这将匹配整个IMPSENT_CONTRAST_EMPH_WEAKCONTR_VIS
表达式,但只有当它匹配前瞻中的部分时,它会过滤您正在查找的关键字。即使在同一行中有多个这样的句子,也可以匹配。
另外,我已经简化了您的正则表达式,保留相同的含义。注意你不需要转义_
你只需要关心标签是否出现在行中,所以只要抓住整行,只要它有一个标签,就像这样:
/^([A-Z_]+(WEAK|CONTRAST|CONTR)+[A-Z_]*)/gm
演示从^这行开始,查找与 a - z 或_后面跟着标记的词块,可以选择后面跟着更多的单词/下划线。
能否尝试添加'w+
:
/('_(WEAK'w+))|('_CONTRAST'w+)|('_CONTR('_'w+|'())/g
像这样?
(^('_(WEAK))|('_CONTRAST)|('_CONTR('_|'()))
相关文章:
- 单击时切换两个图像
- 在servlet中提交两个表单
- 填写表单后替换两个变量
- 单击事件打开两个弹出菜单
- 选择两个单选按钮
- AngularJS ng-repeat,两个单选按钮无法正常工作
- JavaScript 侦听两个单选按钮响应并显示隐藏的文本框
- 如何使用两个单选按钮使显示隐藏两个文本框
- 带有两个单选按钮的谷歌自定义搜索
- 链接中的链接onClick事件-避免触发两个单击事件
- 将两个单击功能合并为一个
- 两个单选按钮共享一个“id”
- 在两个单选按钮之间切换
- 如何将同一行中的两个单词数为1
- 计算两个单选按钮组的组合值
- 在一个具有不同属性的按钮上绑定两个单击事件无法工作
- 同步两个单选按钮(进度4GL, JS和HTML)
- 同一元素冲突上的两个单击处理程序
- 为什么两个单选按钮都被选择为ng值=“n”;真“;并且值=“0”;1〃;
- 如何显示两个单选按钮在html中彼此相邻