问题标签 [regex-negation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
550521 浏览

regex - 正则表达式 - 不包含某些字符

如果句子中的任何地方都没有<或>,我需要一个正则表达式来匹配。

如果 < 或 > 在字符串中,则它必须返回 false。

我在这方面取得了部分成功,但前提是我的 < > 位于开头或结尾:

如果这有所作为,我正在使用 .Net。

谢谢您的帮助。

0 投票
2 回答
6250 浏览

regex - Ant 替换不以开头的文件文本

我想制作一个 ant 目标,它可以替换不以定义的模式开头的文件(或更多)的内容。有没有使用 ant 和 replaceregexp 的解决方案?或者这个的替代品?例子:

  • 我有文件 boo.txt,其中包含以下文本:“这是 boo”。
  • 我也有文件 foo.txt,其中包含文本:“just foo”。

我想将 foo.txt 的文本更改为:“this just foo”

0 投票
6 回答
5905 浏览

regex - 如何使用正则表达式找到除某些短语之外的所有内容?

好的,所以我有一个短语“foo bar”,我想找到除“foo bar”之外的所有内容。
这是我的文字。

ipsum dolor foo bar Lorem ipsum dolor sit amet, consectetur adipisicing elit
, sed do
eiusmod tempor foo bar incididunt ut labore et
dolore foo bar

有一种方法可以在正则表达式中做到这一点吗?我不必去使用字符串等,对吗?

结果:

注意我不能做一个很好的突出显示,但粗体给你一个想法(虽然之前和之后的空格也会被选中,但它会破坏粗体)。

ipsum dolor foo bar Lorem ipsum dolor sit amet, consectetur adipisicing elit
, sed do
eiusmod tempor foo bar incididunt ut labore et
dolore foo bar

假设 PCRE 命名法。


2013 年 7 月 29 日更新:最好使用您选择的语言中的搜索和替换功能来“删除”您不想要的短语,这样您就可以得到您想要的信息。

0 投票
3 回答
17035 浏览

javascript - 正则表达式中的 JSLint“不安全 ^”

JSLint为以下行报告不安全的“^” 。这是为什么?或者它只是在我想否定角色类的任何时候抱怨?

0 投票
3 回答
611 浏览

regex - 简单的正则表达式否定

我在使用正则表达式时遇到问题,所以我想我会在这里问。基本上,我需要它来匹配一个集合的 URI,除了某个(/new)。

IE:

我尝试了以下变体,但无济于事:

我认为我的麻烦在于否定,但我不能完全理解我的意思是做什么..对解决方案的解释将不胜感激!

0 投票
2 回答
1768 浏览

regex - 模式中的正则表达式否定

我正在尝试在模式中定义一个带有否定的正则表达式模式。我想排除最后带有“测试”的所有字符串。我知道字符否定[^Test],但这不是我要找的,[^Test]等于[^estT]. 它应该传递给像这样的字符串UserService,而不是传递给UserServiceTest. 所以我所做的就是用{min,max}. 但它不起作用:(。

我最初的想法是将此模式放入 checkstyle 抑制配置中,并从 checkstyle 检查中排除所有测试类。

有谁知道我该如何解决这个问题?

干杯,

凯文

0 投票
2 回答
907 浏览

regex - 除了三个字符:|、^ 和 ~(竖线、插入符号和波浪号)之外,最短的正则表达式是什么?

我有一个正则表达式,但它非常大。我指定了我允许的字符集。这使它成为大的正则表达式。如果我可以指定相反的内容会更简单,即只指定我不接受的字符吗?

但它不起作用。有什么线索吗?

0 投票
2 回答
672 浏览

c# - 使用 Regex 或 XmlParser 替换标签中未包含的文本

我知道使用正则表达式来解析或操作 HTML/XML 是一个坏主意,我通常不会这样做。但考虑它是因为缺乏替代品。

我需要使用 C# 替换一个字符串中的文本,该字符串还不是标签的一部分(理想情况下是具有特定 id 的跨度标签)。

例如,假设我想用替代文本替换以下文本中不在跨度内的所有 ABC 实例(在我的情况下是另一个跨度)

ABC at start of line or ABC here must be replaced but, <span id="__publishingReusableFragment" >ABC inside span must not be replaced with anything. Another ABC here </span> this ABC must also be replaced

我尝试使用正则表达式,既向前看又向后看断言。沿线的各种组合

但放弃了。

我尝试将它加载到 XElement 中并尝试从那里创建一个编写器并获取不在节点内的文本。但也想不通。

我希望以某种方式使用编写器来获取不属于节点的字符串并替换它们。

基本上我愿意接受任何解决这个问题的建议/解决方案。

在此先感谢您的帮助。

0 投票
3 回答
1012 浏览

c# - 正则表达式 - 避免字符

在 C# 中使用一些正则表达式时,我面临以下问题:

考虑这个简单的字符串:~0~这是一个简单的文本~POP~NIZ~0~0~

我想选择两个“~”之间的任何字符串,其中包含超过 3 个字符,当然“~”除外。在我的示例中,将是:

这是一个简单的文字

我可以做类似的东西: ([\w]|[\d]|.|\,..................){4-500}

我将以一个非常长的正则表达式结束,无法调试且不可读......

相反,我更愿意创建一个正则表达式,例如“给我任何字符,除了 '~' 包含在 '~' 和 '~' 之间”

我找不到正确使用 [^] 的方法!

我怎样才能做到这一点 ?

提前致谢 !

答案:我终于做到了:~[^~]{3,}~

它需要除 '~' 之外的所有内容,包含在两个 '~' 之间,并且长度超过三个字符。

感谢您的回答!

0 投票
3 回答
944 浏览

c# - C# 中的正则表达式包含“this”但不包含“that

我需要过滤文件列表。其中一些是 csv 文件,其中一些附加了控制标签“.cntl”。

示例:file1.csv、file1.csv.cntl

我想设置一个正则表达式来检查文件是否包含“csv”而不是“cntl”。现在我有这个。

这是行不通的。合适的正则表达式是什么?

PS。这一切都是在 C# 中完成的。