将其他两个词之间的词排除为正则表达式

时间:2019-03-18 21:25:05

标签: java regex text

我现在有图案

  

\ bi \ b [^。!?] {0,10} \ bhate

仅在一个句子中捕获模式(不由。!?表示)。但这也引起了相反的含义,即两个单词之间没有“ not”。如何排除两个单词之间的最大距离为10的单词“ not”的出现。

现在抓住了:“我不讨厌”。想要排除这一点,只留下“我讨厌”或“我讨厌”之类的话。

1 个答案:

答案 0 :(得分:1)

您会在否定断言中排除 not
根据前10个字符的NOT长度进行量身定制。
即范围是import numpy as np from skimage.external import tifffile as tif a = np.random.randint(0,5, size=(100,100,100)) a = a.astype('int8') tif.imsave('a.tif', a, bigtiff=True) 或{0,7}

10 - length('not')

documentation

\bi\b(?!.{0,7}not)[^.!?]{0,10}\bhate