Javascript 正则表达式不包含某些单词
我正在寻找一个正则表达式,它可以从一个巨大的文本文件中排除下面的单词Javascript 正则表达式不包含某些单词,javascript,java,regex,Javascript,Java,Regex,我正在寻找一个正则表达式,它可以从一个巨大的文本文件中排除下面的单词 @author @Autowired @Override @param @SuppressWarnings 我已经试过了,但没有达到预期效果 @[^(author)(Autowired)(Override)(param)(SuppressWarnings)].* 尝试使用以下正则表达式(使用): 请参见您可以使用负前瞻: @(?!author|Autowired|Override|param|SuppressWarning
@author
@Autowired
@Override
@param
@SuppressWarnings
我已经试过了,但没有达到预期效果
@[^(author)(Autowired)(Override)(param)(SuppressWarnings)].*
尝试使用以下正则表达式(使用):
请参见您可以使用负前瞻:
@(?!author|Autowired|Override|param|SuppressWarnings)\S+
基本上,它会查找一个
@
,后面是而不是的单词列表,然后它会匹配其后的任何非空白字符。如果您实际尝试获取文本文件并删除关键字列表中的内容,则翻转脚本,您可能希望找到使用以下语法的用户:@(author | AutoWired | Override | param | SuppressWarnings)\b
。终端\b
只是一种预防措施,以避免@authority或其他不可能的文件。正则表达式中的方括号用于字符类。将字符列表放在方括号中时,这将匹配所列字符之一的一个字符。所以
[author]
匹配一个字符,如果它是a
、h
、o
、r
、t
或u
。它不查找单词作者
。将^
放在前面也会查找一个不在列表中的字符:
[^author]
只要不是a
、h
、o
、r
、t
或u
,就匹配一个字符
但这里的关键是,[]
不能用于匹配单词或其他序列。以你为例,
@[^(author)(Autowired)(Override)(param)(SuppressWarnings)].*
方括号中的部分匹配一个非
(
、a
、u
)的字符或方括号中出现的任何其他字符(其中许多字符出现多次,但这不会影响任何内容).为什么这个标签是javascript
?@Viswa shmosel有一个很好的观点…为了正确回答这个问题,我们确实需要知道您使用的是什么语言。如果您正在编写Node.js程序来处理Java源代码,那么您应该只有“javascript”标签。如果您正在编写Java程序,您应该有“Java”标签标记。这很重要,因为有些语言支持regex功能,而其他语言不支持。暹罗:非常感谢,感谢你的帮助。非常感谢,感谢你的帮助。
@[^(author)(Autowired)(Override)(param)(SuppressWarnings)].*