如何对正则表达式中的@符号取反

埃里克·艾伦(Erik Allen)

我有一个要检查的文件。大多数数字前面都带有@。我想查找所有在其前面没有@的数字。他们可能有一个空格,或者他们可能有另一个角色。我不确定,因为我还没有找到它们。

所以对于这段文字

第一@ 30行

第二条@ 40行

找到四个A4线

我想找到“ 4”。最后一行前面带有“ a”的那个。

这听起来很简单,但是使用RegEx101或Notepad ++时,我无法执行搜索。

我试过了[^@]\d+,但是找到了30和40。我已经尝试[^\@]\d+过相同的结果。如果我[^a]\d+正确执行,则找不到“ a4”。因此很明显,@符号具有特殊的意义,但是我找不到与此相关的任何文档。

我如何进行搜索?

用户名

问题3是不是@您正在搜索除以外的任何字符@,后跟任意数量(非零)的数字。3是不是的字符@,并且0是非零数字。因此,一场比赛。

您需要排除数字以及@[^@\d]\d+

注意:这仍然需要在数字前加上一个字符。您说您要输入不以开头的任意数字@如果数字在一行的开头,则它的前面不会有@但是,它也不会以其他任何字符开头,因此您需要调整正则表达式以使其匹配。

后面有一个负面的看法可以解决此问题:(?<![@\d])\d+这会寻找\d+,除非以@或其他数字开头。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章