javascript正则表达式不包含某些单词
我正在寻找一个正则表达式,它可以从一个巨大的文本文件中排除下面的单词
@author
@Autowired
@Override
@param
@SuppressWarnings
我已经试过了,但没有达到预期效果
@[^(author)(Autowired)(Override)(param)(SuppressWarnings)].*
你可以在下面搜索框中键入要查询的问题!
我正在寻找一个正则表达式,它可以从一个巨大的文本文件中排除下面的单词
@author
@Autowired
@Override
@param
@SuppressWarnings
我已经试过了,但没有达到预期效果
@[^(author)(Autowired)(Override)(param)(SuppressWarnings)].*
# 1 楼答案
要翻转脚本,如果您实际上试图获取文本文件并删除关键字列表中的内容,您可能希望找到使用以下语法的内容:
@(author|AutoWired|Override|param|SuppressWarnings)\b
。终端\b
只是为了避免@authority或其他不可能的东西# 2 楼答案
尝试使用以下正则表达式(使用negative look-ahead):
见regex demo / explanation
# 3 楼答案
您可以使用负前瞻:
基本上,它会查找一个
@
,该^{不是,后跟该单词列表,然后匹配其后的任何非空白字符# 4 楼答案
正则表达式中的方括号用于字符类。将字符列表放在方括号中时,这将匹配所列字符之一的一个字符。所以
匹配一个字符,如果它是
a
、h
、o
、r
、t
或u
。它不查找单词author
。将^
放在前面还会查找一个不在列表中的字符:匹配一个字符,只要它不是
a
、h
、o
、r
、t
或u
但这里的关键是
[]
不能用于匹配单词或其他序列。以你为例,方括号中的部分匹配一个字符,该字符不是
(
、a
、u
或方括号中出现的任何其他字符(其中许多字符出现多次,但这不会影响任何内容)