匹配不以某些字符开头的单词

时间:2019-05-24 09:29:12

标签: regex notepad++

我正在尝试从文本中标记和替换不是以#开头的单词。文本文件如下所示:

Some words #word #anotherword #etc
Some more words #words #anotherword #etc #etc more words here
No words containing that character in this line
Etc

应匹配的内容:

Some words 
Some more words                           more words here
No words containing that character in this line
Etc

我对regex完全陌生,一直在尝试提出正确的代码。我得到的最接近的标记是仅除#之外的所有文本,而不是附加在其上的单词。不应选择#号后的部分。注意:还存在特殊字符和数字,应将其标记出来,但#号之后的字符和数字则不应标记。如何以最简单的方式完成此操作?

1 个答案:

答案 0 :(得分:1)

您可以使用

(?<!\S)[^\s#]\S*

详细信息

  • (?<!\S)-空格字符或字符串开头必须在当前位置之前
  • [^\s#]-除空格和#之外的任何字符
  • \S*-任意0+个非空白字符。

请参见the regex demo